场景:
正在daily分支上开发新功能,敲的正high的时候,听到了一个噩耗,master分支上有个bug要改,而且必须是马上改,现在改,怎么办?
这个时候就需要git stash来解决了。
使用方法:
1.git stash
保存工作现场
2.git checkout master
切换master
3.git checkout daily
修改提交完master中bug后,切回develop
4.git stash pop
从Git栈中读取最近一次保存的工作现场,恢复工作区的相关内容
高级方法:
以上方法可以满足简单的业务需求,
但是如果当你多次使用’git stash’命令后,你的栈里将充满很多未提交的版本代码,如何恢复到你想要的版本呢?
1.git stash list
将当前的Git栈列表打印出来
2.git stash apply stash@{1} 或者 git stash pop stash@{1}
将你指定版本号为stash@{1}的工作取出来
*恢复后,stash内容并不删除
如果需要多次git stash,可以在保存工作现在的时候就添加一个参数,方便读取;
git stash save -a "msg"