git stash和git unstash那点事

前言

日常开发中,我们无意间在master分支上开发了一些代码,由于一般企业都会对master分支代码提交合并有设置权限,所以如果代码写在了master分支上,但是又无法push到远程仓库,这时候怎么办呢,难道要把本地代码都拷贝下来,再切到一个新分支上,再把代码粘贴过来?这样肯定可以实现,但是如果改动的代码比较多,又比较分散,这种Ctrl+C加Ctrl+V的方法肯定是不行的。

git stash和git unstash

上面这种场景,git肯定都考虑到了,这里一起来看下git stash 和git unstash命令

git stash 
git stash save “save message”  //保存备注

git stash 暂存当前的工作区的文件,每次git stash都会生成一个stash@{no},也就是放到了一个列表中,no是列表的编号,恢复时选择对应的stash@{no}即可

git stash list

git stash list查看所有暂存的stash列表

git stash show stash@{no}

git stash show stash@{no}查看指定暂存文件的内容

git stash pop

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

git stash apply stash@{no}

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

git stash drop stash@{no}

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

git stash clear 

git stash clear 删除所有缓存的stash

猜你喜欢

转载自blog.csdn.net/qq_28165595/article/details/130179673