Git常用命令之git stash

Git安裝

Debian或Ubuntu Linux,通過一條sudo apt-get install git就可以直接完成Git的安裝

Git創建版本庫

$ git init
Initialized empty Git repository in /Users/michael/learngit/.git/

git stash詳解

原創lnlynn 最後發佈於2019-06-05 23:15:56 閱讀數 1433 收藏
展開
應用場景:
1.當正在dev分支上開發某個項目,這時項目中出現一個bug,需要緊急修復,但是正在開發的內容只是完成一半,還不想提交,這時可以用git stash命令將修改的內容保存至堆棧區,然後順利切換到hotfix分支進行bug修復,修復完成後,再次切回到dev分支,從堆棧中恢復剛剛保存的內容。

2.由於疏忽,本應該在dev分支開發的內容,卻在master上進行了開發,需要重新切回到dev分支上進行開發,可以用git stash將內容保存至堆棧中,切回到dev分支後,再次恢復內容即可。

總的來說,git stash命令的作用就是將目前還不想提交的但是已經修改的內容進行保存至堆棧中,後續可以在某個分支上恢復出堆棧中的內容。這也就是說,stash中的內容不僅僅可以恢復到原先開發的分支,也可以恢復到其他任意指定的分支上。

git stash作用的範圍包括工作區和暫存區中的內容,也就是說沒有提交的內容都會保存至堆棧中。

命令詳解:
git stash
能夠將所有未提交的修改(工作區和暫存區)保存至堆棧中,用於後續恢復當前工作目錄。

git stash save
作用等同於git stash,區別是可以加一些註釋

git stash list
查看當前stash中的內容

git stash pop
將當前stash中的內容彈出,並應用到當前分支對應的工作目錄上。
注:該命令將堆棧中最近保存的內容刪除(棧是先進後出)
如果從stash中恢復的內容和當前目錄中的內容發生了衝突,也就是說,恢復的內容和當前目錄修改了同一行的數據,那麼會提示報錯,需要解決衝突,可以通過創建新的分支來解決衝突。

git stash apply
將堆棧中的內容應用到當前目錄,不同於git stash pop,該命令不會將內容從堆棧中刪除,也就說該命令能夠將堆棧的內容多次應用到工作目錄中,適應於多個分支的情況。
堆棧中的內容並沒有刪除。
可以使用git stash apply + stash名字(如stash@{1})指定恢復哪個stash到當前的工作目錄。

git stash clear
清除堆棧中的所有 內容

git stash show
查看堆棧中最新保存的stash和當前目錄的差異。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章