子曰:merge 使用
在工作协作开发中,使用git
进行版本管理,下面整理了使用git stash
的流程
流程
1.首先是在develop
分支上进行开发,对内容进行了修改,但是并没有进行提交,此时状态为:
1 | git status |
提示如下
1 | On branch develop |
2.此时需要跳到master
分支上进行开发,但是你不想提交你现在正在进行的工作,所以你需要存在这些变更git stash
1 | git stash |
提示如下
1 | Saved working directory and index state WIP on develop: 61b5a09 abb page |
此时调用git status
1 | git status |
提示显示
1 | On branch develop |
3.此时再切换到master
分支进行处理其他事务
1 | git checkout master |
处理完其他事务之后,进行提交
1 | git add . |
4.再次切换回develop
分支进行处理
1 | git checkout develop |
5.查看现在的存储列表
1 | git stash list |
提示如下
1 | stash@{0}: WIP on develop: 61b5a09 abb page |
6.重新应用储藏,同时立刻将其从堆栈中移走
1 | git stash pop |
提示如下
1 | On branch develop |
现在就可以继续在之前的存储上进行开发了
命令
1.git stash
保存当前工作进度,会把暂存区和工作区的改动保存起来。执行完这个命令后,在运行git status
命令,就会发现当前是一个干净的工作区,没有任何改动。使用git stash save 'message...'
可以添加一些注释
2.git stash list
显示保存进度的列表。也就意味着,git stash
命令可以多次执行。
3.git stash pop [–index] [stash_id]
git stash pop
恢复最新的进度到工作区。git默认会把工作区和暂存区的改动都恢复到工作区。通过git stash pop
命令恢复进度后,会删除当前进度。git stash pop --index
恢复最新的进度到工作区和暂存区。(尝试将原来暂存区的改动还恢复到暂存区)git stash pop stash@{stash_id}
恢复指定的进度到工作区。stash_id
是通过git stash list
命令得到的
4.git stash apply [–index] [stash_id]
除了不删除恢复的进度之外,其余和git stash pop
命令一样。
5.git stash drop [stash_id]
删除一个存储的进度。如果不指定stash_id
,则默认删除最新的存储进度。
6.git stash clear
删除所有存储的进度。