Git stash 了解么?

@whizbz11 2018-12-25 11:05:14发表于 iuap-design/blog

开发时会遇到这样的情况,正在develop分支开发新功能,做到一半时有人过来反馈一个bug,让马上解决,但是新功能做到了一半你又不想提交,这时就可以使用git stash命令先把当前进度保存起来,然后切换到另一个分支去修改bug,修改完提交后,再切回develop分支,使用git stash pop来恢复之前的进度继续开发新功能。下面讨论下有关git stash相关内容:

  • git stash pop:
    从Git栈中读取最近一次保存的内容,恢复工作区的相关内容。由于可能存在多个Stash的内容,所以用栈来管理,pop会从最近的一个stash中读取内容并恢复。
    如果有多次stash操作,那就通过git stash list查看stash列表,从中选择你想要pop的stash,运行命令git stash pop stash@{id}或者 git stash apply stash@{id}即可。
  • git stash list:
    显示Git栈内的所有备份,可以利用这个列表来决定从那个地方恢复。
  • git stash clear:
    清空Git栈。此时使用gitg等图形化工具会发现,原来stash的哪些节点都消失了。
  • git stash drop
    删除一个存储的进度。如果不指定stash_id,则默认删除最新的存储进度。