场景:
1.dev新功能开发工作未完成,需紧急修复BUG
2.需保护现场,先完成BUG处理
过程:
1.保护工作现场
$ git stash
2.切换到需修复bug的分支(假设为master)
$ git checkout master
3.创建修复分支(假设为issue101)
$ git checkout -b issue-101
4.修复bug,并合并分支至(master)
$ git checkout master
$ git merge --no-ff -m "merged bug fix 101" issue-101
5.切换回dev继续开发
$ git checkout dev
6.查看保护的现场列表
$ git stash list
7.恢复现场
一是用git stash apply恢复,但是恢复后,stash内容并不删除,你需要用git stash drop来删除;
另一种方式是用git stash pop,恢复的同时把stash内容也删了:
注:多次stash,恢复的时候,先用git stash list查看,然后恢复指定的stash,用命令:
$ git stash apply stash@{0}
以上{0}为 git stash list 中显示的参数