git stash用法

git stash用法

场景:修改的文件在本地,还已经add,还没有commit的文件
没有add的文件,stash时默认不会缓存起来了,如果想要一起缓存,需要先add,然后再执行git stash save
如切换分支,又不想commit提交,可以先用stash把修改的文件缓存起来,处理完别的分支bug后。
切回来后,再还原之前缓存的修改。
git stash -h

常用git stash命令:

(1)git stash save "save message" : 执行存储时,添加备注,方便查找,只有git stash 也要可以的,但查找时不方便识别。

(2)git stash list :查看stash了哪些存储

(3)git stash show :显示做了哪些改动,默认show第一个存储,如果要显示其他存贮,后面加stash@{$num},比如第二个 git stash show stash@{1}

(4)git stash show -p : 显示第一个存储的改动,如果想显示其他存存储,命令:git stash show stash@{$num} -p ,比如第二个:git stash show stash@{1} -p

(5)git stash apply :应用某个存储,但不会把存储从存储列表中删除,默认使用第一个存储,即stash@{0},如果要使用其他个,git stash apply stash@{$num} , 比如第二个:git stash apply stash@{1}

(6)git stash pop :命令恢复之前缓存的工作目录,将缓存堆栈中的对应stash删除,并将对应修改应用到当前的工作目录下,默认为第一个stash,即stash@{0},如果要应用并删除其他stash,命令:git stash pop stash@{$num} ,比如应用并删除第二个:git stash pop stash@{1}

(7)git stash drop stash@{$num} :丢弃stash@{$num}存储,从列表中删除这个存储

(8)git stash clear :删除所有缓存的stash

a.如果还原错缓存了,可以用git checkout . 丢弃还原的内容
b.已经add,没有commit的文件,可以用 git reset HEAD <文件名> 命令取消,还原到本地环境中

git reset HEAD <文件名>   取消指定文件
git reset HEAD .   取消全部缓存车中的文件

例子:
haima@haima-PC:~/Desktop/testgit$ git status
位于分支 master
要提交的变更:
(使用 "git reset HEAD <文件>..." 以取消暂存)

修改:     123.txt

参考文件:
https://www.cnblogs.com/zndxall/archive/2018/09/04/9586088.html
https://www.cnblogs.com/tocy/p/git-stash-reference.html

参考下面的文章:

https://blog.csdn.net/stone_yw/article/details/80795669

https://www.cnblogs.com/zndxall/archive/2018/09/04/9586088.html

posted @ 2021-11-30 10:40  HaimaBlog  阅读(263)  评论(0编辑  收藏  举报