og

git stash应用

Snipaste_20211116_174939.jpg git stash其实这个东西不常用到,因为感觉分支能更好的解决问题,而且不容易出错。现在工作中项目基本我一个人开发所以倒是容易用到,就记录一下。

场景

你发现上版本bug或需要立马修改上的东西,但是你现在还在写开发代码。

操作

一般出现这个情况,就可以临时提交下代码,拉一个master分支改完合并到master上。然后你在合并到你的开发代码就好了。

那么如果你没有提交过代码,代码版本还在上版本。那你就可以直接用*git stash save "save message" *把代码缓存起来,然后直接改,到时候在git stash pop 回来就行了。

其实git stash主要还是用在你还不想提交代码的时候。
使用场合:当前工作区内容已被修改,但是并未完成。这时Boss来了,说前面的分支上面有一个Bug,需要立即修复。可是我又不想提交目前的修改,因为修改没有完成。但是,不提交的话,又没有办法checkout到前面的分支。此时用Git Stash就相当于备份工作区了。然后在Checkout过去修改,就能够达到保存当前工作区,并及时恢复的作用。

抄一下指令

常用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

---end---

Article at   2021/11/16 17:53  Published  code  Category,viewed  282  times

Relevant tags:    Github 

Address:   https://kedong.me/article/63

Copyright Notice: Freely reproduced for non-commercial use