作用
- git stash命令用于暂时保存没有提交的工作。运行该命令后,所有没有commit的代码,都会暂时从工作区移除,回到上次commit时的状态。
- 它处于git reset –hard(完全放弃还修改了一半的代码)与git commit(提交代码)命令之间,很类似于“暂停”按钮。
1 | # 暂时保存没有提交的工作,并且将当前代码切换到HEAD提交上 |
实际应用
开发到一半,同步远端代码
当你的开发进行到一半,但是代码还不想进行提交 ,然后需要同步去关联远端代码时.如果你本地的代码和远端代码没有冲突时,可以直接通过git pull解决.但是如果可能发生冲突怎么办.直接git pull会拒绝覆盖当前的修改.
遇到这种情况,需要先保存本地的代码,进行git pull,然后再pop出本地代码
1 | git stash |
工作流被打断,需要先做别的需求
当开发进行到一半,老板过来跟你说”线上有个bug,你现在给我改好,不然扣你鸡腿”.当然,你可以开一个新的分支,把当前代码提交过去,回头再merge,具体代码如下
繁琐的工作流示例
1 | $ git checkout -b my_wip |
我们可以通过git stash来简化这个流程
正确姿势
1 | $ git stash // 保存开发到一半的代码 |