Git进阶之git stash

在实际开发工作中, 你可能会遇到这种的情况:

当你在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步

  1. 把未完成的工作暂存起来, 但不是提交commit
  2. 切换到master分支解决bug
  3. 切换回自己的dev分支
  4. 把 1 里面未完成的工作取回到dev分支

那么, 完成这4步, 应该具体使用哪几个命令?

答案是:

// 把未完成的工作暂存起来
git stash 

// 切换到master分支解决bug
git checkout -b master

// 切换回自己的dev分支
git checkout -b dev

// 把 1 里面未完成的工作取回到dev分支
git stash po

下面请看这4个步骤对应的图解

Git进阶之git stash_第1张图片

以上就是git stash的操作.

你可能感兴趣的:(git,前端)