场景1:
团队协作开发中,每个人的本地配置文件可能都不相同,比如说,在android中,存储密钥的路径不同。这时候大家上传代码,导致别人更新下来总要改东西。这时候,我们就需要这个改动保存在本地,而不是推送到远程仓库。
场景2:
branch1分支已经提交测试,现在在做新功能的开发工作,分支为branch2。突然在branch1分支上出现bug,要着急去修改bug.但是这时候branch2上的工作暂时还不能提交。
解决问题:
在上述两个场景中,都会遇到一个问题。我现在代码还没提交,但是要去切换到另一个分支上工作。怎么办呢?
使用bug分支,也就是stash。我们以场景2为例,具体操作下边继续说。
1、首先,我们要吧branch2分支上的内容暂时存储起来。
使用命令行:
git stash
Saved working directory and index state WIP on master: 64d8341 branch2 add "1111"
2、这时候我们可以使用命令行git stash list 来查看当前所有的stash
git stash list
stash@{0}: WIP on master: 64d8341 branch2 add "1111"
3、当前分支存储好了,这时候切换分支到branch1
git checkout branch1
4、这时候就要在branch1上修改并提交代码了,结束之后,再切换会branch2
git checkout branch2
5、然后使用命令行来回到步骤1中存储的内容:
git stash pop
这样branch2中的代码就回到刚开始的样子了,继续工作lallalalal.....
补充相关命令行
1、git stash [save message]
保存,save为可选项,message为本次保存的注释
2、git stash list
所有保存的记录列表
3、git stash pop stash@{num}
恢复,num是可选项,通过git stash list可查看具体值。只能恢复一次
4、git stash apply stash@{num}
恢复,num是可选项,通过git stash list可查看具体值。可恢复多次
5、git stash drop stash@{num}
删除某个保存,num是可选项,通过git stash list可查看具体值
6、git stash clear
删除所有保存
网友评论