使用git stash命令保存和恢复进度

  • 使用场景
某些时候,你正在你的开发分支上行云流水的各种操作时,
你的leader告诉你,有一个线上bug需要紧急修复,
你通常的办法就是:

$ git add .
$ git commit -m 'XXXXX'
$ git checkout master
$ git checkout -b 'bugfix_branch'
$ 做一些代码改动 巴拉巴拉
$ git add .
$ git commit -m 'bugfix XXXXX'
$ git push origin bugfix_branch
$ git checkout working_branch
$ 继续行云流水
  • 弊端
迫使你在当前开发分支上强行提交一次commit,
然后去建立fix分支去修复bug, 
可能这次commit会有很多调试信息并不需要去提交,
但是你为了抓紧时间,不得不将它们全部提交,
下次再去逐个删掉调试信息,很麻烦
  • 解决
可以使用 git stash 来保存工作进度,
然后使用 git stash pop 来恢复工作进度
那么流程可能就变成了这样:

$ git stash
$ git checkout master
$ git checkout -b 'bugfix_branch'
$ 做一些代码改动 巴拉巴拉
$ git add .
$ git commit -m 'bugfix XXXXX'
$ git push origin bugfix_branch
$ git checkout working_branch
$ git stash pop
$ 之前修改的内容还都是 modified 状态,继续行云流水

git stash 扩展:

git stash #将本地修改代码暂存

git stash save 'message' #暂存代码并添加备注

git stash pop #把最近的暂存代码还原

git stash pop stash@{0} #还原指定 id 的暂存代码

git stash list #查看暂存代码列表

git stash drop #删除最近的暂存代码

git stash drop stash@{0} #删除指定 id 的暂存代码

git stash clear #清空所有暂存代码

更多信息请移驾:

https://git-scm.com/book/zh/v1/Git-工具-储藏(Stashing)

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值