1、切换分以前,添加改动文件到stash; git stash: 备份当前的工做区的内容,从最近的一次提交中读取相关内容,让工做区保证和上次提交的内容一致。同时,将当前的工做区内容保存到Git栈中。git
git stash pop: 从Git栈中读取最近一次保存的内容,恢复工做区的相关内容。因为可能存在多个Stash的内容,因此用栈来管理,pop会从最近的一个stash中读取内容并恢复。缓存
git stash list: 显示Git栈内的全部备份,能够利用这个列表来决定从那个地方恢复。app
git stash clear: 清空Git栈。此时使用gitg等图形化工具会发现,原来stash的哪些节点都消失了。工具
在原分支 git stash save -a “messeag”,-a选项才会将新加入的代码文件同时放入暂存区。若是是之前就有了,那么就不用加-a,你加的话,会报错的。get
这里的message已经要标注状况,分支却是不用标明,必定要标明他的用途,否则你真的会乱的。it
2、切换回之前的分支后,若是你要恢复的是最近的一次改动,git stash pop,我想这是你们最经常使用的命令了吧; 若是有屡次stash操做,那就经过git stash list查看stash列表,从中选择你想要pop的stash,运行命令git stash pop stash@{id}或者 git stash apply stash@{id}便可。im
3、删除stash; git stash drop stash@{id} 若是不加stash编号,默认的就是删除最新的,也就是编号为0的那个,加编号就是删除指定编号的stash。 当你都玩完了后,能够用git stash clear清理全部的缓存记录。apply
4、git stash pop 与 git stash apply 的区别; 这两个命令的区别。原来git stash pop stash@{id}命令会在执行后将对应的stash id 从stash list里删除,而 git stash apply stash@{id} 命令则会继续保存stash id。 通常来讲你直接git stash pop stash@{id}就能够了,固然你若是想存下来,再后期的再次复原的话,能够用git satsh apply 。 见过一同事在git commit以前,竟然在stash缓存区内放入了二十几回的stash记录,这尼玛,你就不能commit下呀。文件
参考网址备份