有時在 pull 過程,偶爾都會遇到 Git 發生衝突的狀況
commit your changes or stash them before you can merge.
或者,在我們開發某個新feat功能,需要先處理一些修改再返回繼續開發時,
這時,就可以透過 git stash 暫存指令將目前開發內容暫存起來
先將新增的內容 pull 下來,或等我們狀況處理完畢,再將暫存內容取回
用法如下:
將目前修改內容放入暫存
git add -A
直接加入 stash
git stash
或者可以加入註解
git stash save -u "<type>:<content , 本次暫存的內容及原因>"
//例如
git stash save -u "Feature: Env setting"
接著,就可以進行 pull
git pull
查看 STASH
查看目前 stash
git stash list
取回STASH
取回 stash 的方式有兩種
第一種是,取回並且刪除 stash
git stash pop
第二種是,取回但不刪除 stash
git stash apply
從多個 STASH 取回指定的 STASH
我們可能會同時存取多個 stash
這時可以先查詢目前 stash 的項目
git stash list
再透過指定要拿回哪個 index 的 stash
index 0 表示第一個,1表示第二個….以此類推
因此,在 stash list中,我們要拿回第一個 stash,就可以透過指定 index 0 的方式來取回
例如:
git stash pop stash@{0}
手動刪除 git stash
一次刪除所有 stash
git stash clear
刪除指定的stash,要先透過 stash list 查詢目前 stash項目,再透過指定 index 方式刪除
例如現在要刪除第一個 stash,則指定 index 0 即可
git stash drop stash@{0}