大家应该碰见过这样的情况,在一个分支上做一个开发任务,进行中时要求修改一个紧急bug。比较尴尬的是,代码写了部分修改比较多,不能提交,要修改的bug可能涉及到已修改的文件,并且要先提交。以前只能先将涉及的文件备份后revert,然后修改bug,最后只提交bug修复的代码,再手动将备份代码加回来。很不方便,并且容易出错。git上有个stash命令适用该情况
二 操作
1 在dev1分支上修改test.txt文件,增加内容aaaaaaaaaaa
2 test.txt当前内容如下:
3 执行 git stash命令
此时查看状态,工作区没有修改(修改被隐藏了)
4 此时再修改test.txt,增加内容bbbbbbbb,如下
此时状态,
提交,
相当于bug修复的文件提交完成了。
5 恢复修改,两种方法
(1)git stash apply恢复,但stash内容并不删除,需要再使用git stash drop命令来删除。可用 git stash list查看stash内容。
(2)使用git stash pop命令,恢复的同时把stash内容也删除了。
我采用git stash pop命令
恢复后,打开test.txt,此时有冲突,
手动解决冲突,
最后提交