stash命令可用于临时保存和恢复工作进度,必须是处于git版本控制下的文件,未add到git的文件无法使用。
如果本地代码需要pull最新代码,而最新代码跟当前本地代码又有冲突的时候,就可以先将当前本地代码的改动stash放到暂存区,然后再pull最新代码就不会有冲突了。本地代码更新之后,再用stash的apply或pop命令,将之前的改动再应该回来。
(1)执行存储,将代码的改动放到暂存区
git stash [save "save message" ] //save "save message" 用于添加备注,方便查找
(2)显示暂存的工作进度列表,编号越小代表保存进度的时间越近
git stash list
(3)显示哪些文件做了改动。默认显示第一个存储,如果要显示其他存储,后面加stash@{$num},比如第一个 git stash show stash@{0}。加上-p参数会显示出每个文件的具体改动点。
git stash show [stash@{$num}] [-p]
(4)应用某个存储,但不会把存储从存储列表中删除,默认使用第一个存储,即stash@{0},如果要使用其他个,git stash apply stash@{$num} , 比如第二个:git stash apply stash@{1}
git stash apply [stash@{$num}]
(5)命令恢复之前缓存的工作目录,将缓存堆栈中的对应stash删除,并将对应修改应用到当前的工作目录下,默认为第一个stash,即stash@{0},如果要应用并删除其他stash,命令:git stash pop stash@{$num} ,比如应用并删除第二个:git stash pop stash@{1}
git stash pop [stash@{$num}]
(6)删除一条保存的工作进度,此命令的stash@{num}是可选项,在多个工作进度中可以选择删除,不带此项则默认删除最近的一次进度相当于git stash drop stash@{0}
git stash drop [stash@{$num} ]
(7)删除所有缓存的stash
git stash clear
参考:https://www.cnblogs.com/zndxall/archive/2018/09/04/9586088.html