在实际开发工作中, 你可能会遇到这种的情况:
当你在dev_branch_1分支工作时, 突然被打断, 说master分支有紧急bug, 需要你马上修复.
这时候, dev_branch_1分支上还有20几个未提交文件, 怎么办?
临时写一个 git commit -m '提交代码'
, 把20几个文件不分类, 不加说明的交上去, 然后马上切换到另一个分支解决Bug ?
不, 这种做法是不专业的. 在git的开发模式中, 每一个commit都应该对应一个feature/bug的提交, 当一个commit中包含了多个功能, 对后期维护, 比如他人追踪bug, 定位代码来说, 是会增加你同伴的工作量的.
那么, 遇到上述的情况, 正确的git操作应该是怎么样的呢?
答案是stash操作.
git stash是什么?
能够将所有未提交的修改(工作区和暂存区)保存至堆栈中,用于后续恢复当前工作目录
在上述场景中, 怎么使用git stash?
其实上述场景中, 我们需要做的有4步
- 把未完成的工作暂存起来, 但不是提交commit
- 切换到master分支解决bug
- 切换回自己的dev分支
- 把 1 里面未完成的工作取回到dev分支
那么, 完成这4步, 应该具体使用哪几个命令?
答案是:
// 把未完成的工作暂存起来
git stash
// 切换到master分支解决bug
git checkout -b master
// 切换回自己的dev分支
git checkout -b dev
// 把 1 里面未完成的工作取回到dev分支
git stash po
下面请看这4个步骤对应的图解
以上就是git stash的操作.
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。