git stash让你在分支间切换自如,工作更高效

stash命令能够将还未commit的代码暂存起来,让你的工作目录变干净。stash一般用于修复紧急bug的。

文章目录


一、stash常见的命令

应用场景:

你正在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--->push的过程

pull代码的时候:工作区、暂存区、本地库的版本是一致的。

所以我们在pull之前,先将修改后的代码stash或者commit。这时候远程端的代码就会自动合并到本地的代码,如果发生了冲突就得我们自己手动合并。

1.解决方法一

通过git pull拉取远程仓库文件到本地仓库,如果发生冲突会提示,根据提示解决冲突。解决冲突后,提交到本地仓库,再推送到远程仓库。

git pull

手动解决冲突

git add

git commit -m""

git push origin master

2.解决方法二

使用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,继续原来的工作。

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值