Git命令集十三——快照操作
2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>
Git命令集十三——快照操作
? ? Git工具中提供了一個(gè)stash命令,這個(gè)命令的作用是創(chuàng)建快照??煺罩饕挠猛臼菍?dāng)前未更新到緩存區(qū)的修改進(jìn)行入棧保存,創(chuàng)建快照后,Git的狀態(tài)會(huì)變回上一次提交時(shí)的狀態(tài),這時(shí)候我們可以做其他的操作。創(chuàng)建的快照會(huì)被保存在棧中,在需要的時(shí)候,我們可以恢復(fù)快照。舉一個(gè)小例子,實(shí)際開發(fā)中,很多情況我們都會(huì)從主分支拉出一個(gè)新的分支進(jìn)行新功能的開發(fā),如果我們在開發(fā)過程中,有一個(gè)緊急的bug需要到主分支中修改,這時(shí)候我們常常會(huì)將目前為完善的代碼先提交到新的分支,然后切回主分支修改bug,之后再回來繼續(xù)開發(fā)。但是如果這個(gè)新的分支并不只是你一個(gè)人開發(fā),你的不完善的提交很有可能造成別人無法工作,其實(shí)你可以使用Git的快照命令,先將自己的修改存成快照入棧保存,回到主分支修改完bug后,在將快照出棧即可。
1.git stash
? ? 將當(dāng)前未更新到緩存區(qū)的修改創(chuàng)建成快照。需要注意,快照是采用棧的方式管理。我們可以入棧多個(gè)快照,例如先做一部分修改,創(chuàng)建為快照,之后又進(jìn)行了修改,再次創(chuàng)建快照。第2次快照并不會(huì)覆蓋以前的快照,我們可以指定恢復(fù)到的快照。
2.git stash list
? ? 打印當(dāng)前棧中的所有快照。
3.git stash show <stash>
? ? 打印某個(gè)快照的修改信息,后面的stash參數(shù)指定快照在棧中的位置,命令格式如下:stash@{num},最后入棧的為stash@{0},向前依次為stash@{1}、stash@{2}...。如果不限stash參數(shù),則默認(rèn)將打印棧頂快照的信息。
4.git stash pop <stash>
? ? 恢復(fù)到某個(gè)快照版本,如果不加stash參數(shù),則默認(rèn)會(huì)恢復(fù)到棧頂?shù)目煺瞻姹?。這個(gè)命令會(huì)將恢復(fù)的快照從棧中刪除掉。
5.git stash apply <stash>
? ? 恢復(fù)到某個(gè)快照的版本,如果不加stash參數(shù),則默認(rèn)會(huì)恢復(fù)到棧頂?shù)目煺瞻姹尽_@個(gè)命令和pop的不同之處在于恢復(fù)的快照并不會(huì)從棧中刪除。
6.git stash clear
? ? 清空棧中的所有快照。
7.git stash drop <stash>
? ? 清除棧中的某個(gè)快照,如果不設(shè)置stash參數(shù),則會(huì)默認(rèn)清除棧頂?shù)目煺铡?/p>
?
轉(zhuǎn)載于:https://my.oschina.net/u/2340880/blog/863881
總結(jié)
以上是生活随笔為你收集整理的Git命令集十三——快照操作的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【数据库中间件】MyCat分表分库规则实
- 下一篇: 算法小白——基本排序算法入门