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