Git还提供了一个stash功能,可以把当前工作现场“储藏”起来,等以后恢复现场后继续工作,命令如下:
git stash
具体使用流程如下:
场景:当你接到一个修复一个代号001的bug的任务时,需要创建一个分支bug-001来修复它,但是当前正在dev上进行的工作还没有提交
- 先把分支dev工作现场保存起来
git status //查看当前工作区是否正常
git stash //保护当前工作现场
- 选择要进行bug修复的分支,比如master,在此分支基础上创建bug修复分支:
git checkout master //切换到需要修复的分支
git checkout -b bug-001 //创建bug修复分支并切换过去
//修复完成之后切换回master分支
git checkout master //切换回master分支
git merge --no-ff -m "merged bug fix bug-001" bug-001 //进行分支合并
- 回到开发分支dev
git checkout dev //回到开发分支
git status //查看状态
git stash list //查看保存的工作现场
git stash apply //恢复工作现场
git stash drop //释放工作现场
//git stash pop 以上2句也可以用这句代替,恢复的同时把stash内容也删了
你可以多次stash,恢复的时候,先用git stash list查看,然后恢复指定的stash,用命令:
git stash apply stash@{0}