Git 中的stash功能

记录

stash可以把当前工作现场“保存”起来,等以后恢复现场后继续工作。演示如下:

1.查看分支

有两个分支master和subWork,当前的工作分支是subWork。

$ git branch
  master
* subWork

2.查看工作状态

当前分支subWork上的工作尚未完成,如果有另一项任务需要优先完成,或者出现BUG需要立刻修复。此时需要另外创建一个分支来工作,可以把当前工作现场“保存”起来,等以后恢复现场后继续工作。

$ git status
On branch subWork
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)
 
   modified:   test.txt

3.保存工作现场

$ git stash

此时查看状态,工作区就是干净的。

$ git status
On branch subWork
nothing to commit (working directory clean)

4.创建分支

假设需要在分支master上修复,就切换到master上。
$ git checkout master
在master上创建新分支bug001,并设为当前工作分支。
$ git checkout -b bug001
修改bug,然后提交。    
$ git add test.txt
$ git commit -m "fix bug 100"
修复完成后,切换到master分支。
$ git checkout master
合并master分支和bug001分支。(--no-ff参数,表示禁用Fast Forward模式,禁用后Git就会在merge时生成一个新的commit,这样,从分支历史上就可以看出分支信息)。
$ git merge --no-ff -m "merge bug001" bug001

最后,删除分支bug001。

$ git branch -d bug001

5.恢复工作现场

现在,BUG修复完成了,我们可以回到subWork分支,继续我们的工作了。

切换到subWork分支。

$ git checkout subWork

恢复工作现场。

$ git stash pop

注:可以多次用命令git stash 保存工作现场,然后用git stash list 查看保存的列表,然后用 git stash apply恢复。

用 git stash apply恢复后,保存的现场并不删除,需要用git stash drop 删除。

转载自:
https://blog.csdn.net/liyazhen2011/article/details/83501134

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值