Wednesday, 12 April 2017

Git 使用 stash 功能來暫存目前修改的狀態

Preface

目前個人使用 Git 遇到會需要使用 stash 功能情境為,目前的 feature branch 開發到一半,但是有一個臨時的 hotfix 需要先進行修改。手邊目前的 feature branch 功能也還沒有完成到適合 commit 的狀態。想要在不進行 commit 的狀態下建立一個新的 hotfix branch 切換過去這時就需要先使用 stash 暫存起來。這樣就可以進行  branch 的切換了。

Tutorial

首先在目前的分支下使用 status 來確定,已經有檔案修改。
$ git status

確定目前有修改的檔案後,使用 stash 功能把目前的狀態暫存起來
$ git stash

接著再用 staus 確認 branch 狀態,你應該會發現剛剛所有做的修改都不見了
$ git status

接下來你就可以任意地切換分支了。或者是你可以用 stash list 來確認目前有暫存起來的狀態
$ git stash list

等待 hotfix 完成或者是其他的功能完成之後,要把暫存的狀態還原回來,可以透過 stash list 找到 stash 狀態的 index 以及可以確認相對應的 branch,切換到對應的 branch 上使用 stash apply 再加上想要回覆的暫存狀態就可以了
$ git stash apply stash@{0}
//stash@{number} 是 stash index 可以在 stash list 裡面找到

0 comments:

Post a Comment