赞
踩
stash命令能够将还未commit的代码暂存起来,让你的工作目录变干净。stash一般用于修复紧急bug的。
应用场景:
你正在feature分支上开发新功能,突然你的领导告诉你线上有bug,必须马上修复。
此时新功能开发到一半,你又要切换到master分支修复bug,这时就会报错。因为当前文件更改了,需要提交commit保持工作区干净才能切换分支。
命令使用:
git stash
这样代码就被保存起来了,当你修复完线上问题,切回feature分支,想恢复代码也只需要:
git stash pop
相关命令:
1、git push
保存当前未commit的代码
2、git stash save "备注的内容"
3、git stash list
列出stash的所有记录
4、git stash clear
删除stash的所有记录
5、git stash apply
应用最近一次的stash
6、git stash pop
应用最近一次的stash,随后删除该记录
7、git stash drop
删除最近的一次stash
当有多条stash,可以指定操作stash,首先使用stash list列出所有记录:
git stash list
[email protected]{0}:WIP on...
[email protected]{1}:WIP on...
[email protected]{2}:On...
应用第二条记录:
git stash apply [email protected]{1}
pop,drop同理...
pull代码的时候:工作区、暂存区、本地库的版本是一致的。
所以我们在pull之前,先将修改后的代码stash或者commit。这时候远程端的代码就会自动合并到本地的代码,如果发生了冲突就得我们自己手动合并。
通过git pull拉取远程仓库文件到本地仓库,如果发生冲突会提示,根据提示解决冲突。解决冲突后,提交到本地仓库,再推送到远程仓库。
git pull
手动解决冲突
git add
git commit -m""
git push origin master
使用git stash解决git pull时的代码。有两种场景:
(1)我们只是想git pull更新代码,因为可能我们正在开发的代码需要依赖别人提交到远程端的代码,这时候我们还没开发完,还不想产生新的commit。
a.先将本地所有修改存储起来
git stash
再用git stash list可以看到保存的信息
b.git pull内容
暂存本的修改之后,就可以pull了
c.还原暂存的内容
git stash pop [暂存标记]
d.git add
e.git commit -m""
f.git push origin master
(2)为了fix一个紧急的bug,先stash,使自己返回到自己上一个commit,改完bug之后再stash pop,继续原来的工作。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。