在工作中遇到这种情况:我在branch A上改着bug,临时有一个紧急bug需要修复,但是我的branch A上还没修复好,不想提交, 这时候怎么办呢?
我的解决办法是使用git stash. Git提供了一个git stash命令,解释: git stash - Stash the changes in a dirty working directory away.
在branch A上先使用git status
查看状态,如果是有修改的,使用git stash
命令进行暂存,再使用git status查看状态,显示没有修改为正常状态
在修复Bug分支修复好了bug,记得commit
切换到branch A分支,先查看我们暂存着的内容,使用命令:git stash list
,如果曾经用过这个命令,会看到开头为stash@{n}:xxx的列表。
有两个命令git stash apply
和git stash pop
可以恢复暂存内容:
用法相似:使用git stash apply
,恢复最近的一次存储,如果想恢复更早的存储,则需指定是哪一项,比如恢复列表第2项:git stash apply stash@{1}
区别:
1.使用git stash apply
命令,之前stash的内容没有被删除,需要删除的话要再用git stash drop
2.使用git stash pop
命令,用这种方法恢复的,之前stash的内容已经删除了,不需要再次手动删除
- END -