意外丢失的内容
问题
在某次合并后,test分支与master分支下都有文件5.txt,这时:
-
在
test分支下修改5.txt,但是没有commit -
这时切换到
master分支下同样修改了5.txt这个文件,但是在master分支下执行了add、commit命令 -
再次切换到
test分支下,会发现在步骤1里面对5.txt的修改意外丢失了!
解决方案
test分支在步骤1执行完之后,执行git stash将没有commit的更改压入堆栈中保存,再切换到其他分支,再次切换到test分支时,用git stash pop从堆栈中弹出保存的更改
有关命令
# 将未提交的更改压入堆栈中保存
git stash
# 显示使用git stash保存的所有更改
git stash list
# 弹出一条前面使用git stash压入堆栈中的更改(在堆栈中删除该更改)
git stash pop
# 恢复一条堆栈中的更改(并不会在在堆栈中删除该更改)
git stash apply
实际情境
你开发的应用程序突然发现一个紧急bug,这时你必须立刻切换到发行分支去修补那个bug,但是目前你所在的开发分支正在开发一个新功能,才开发了一半,还不到commit的时候。
这个时候切换到发行分支改完bug,再切换回开发分支,就可能会使开发分支没有commit的内容丢失!这时就会用到git stash
最后
以上就是迷你小伙最近收集整理的关于git stash意外丢失的内容的全部内容,更多相关git内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复