Git(1) -- git stash 储藏与清理

git stash使用场景及方式

由于通常都是使用idea上的git插件,通过插件提供的功能来操作git。对实际的git工作流中遇到的许多问题总是不明不白。现在就慢慢一个个点看文档来理清楚。

  简单而言,git stash就是用于处理已改动而未提交的工作目录状态。
  举例来讲,当前需要在分支A上实现一个功能F1, 现在功能F1实现了一半,但需要优先切换到分支B修复bug1 。
  这个时候,我们通常不应该为了仅仅实现一半的功能而做一次Git提交。这个时候git会阻止分支切换,因为在当前分支下所做的修改可能会与想要切换的分支产生冲突。
  git分支切换要求保持当前分支的工作目录处于一个干净的状态。这个时候就可以使用git stash将当前所做的改动进行暂存,git将会将本次分支改动保存到一个栈上。

git stash // 保存当前分支上所做的修改

此时查看工作目录状态将得到

git status
# On branch master
nothing to commit, working directory clean

查看暂存栈会看到此次暂存的记录

git stash list
stash@{0}: xxx(改动描述)

然后 git checkout B切换到分支B,修复完bug1之后再使用git checkout A 切换到A分支。接着使用 git stash apply stash@{0} 应用之前保存的修改,即可将工作目录还原到先前的状态了。

其他命令

git stash drop stash@{0} 移除指定的stash
git stash pop 将stash栈的第一个stash应用并移除
git stash show stash@{0} -p  查看stash0所做的改动
git stash branch newbranch 新建分支
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值