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 裡面找到

Related Posts:

  • SSH 設定 config 使用不同的 Key 對應不同的 Server Preface 在工作的時候常常會遇到公司的 codebase 要設定 SSH 之後才能把自己的程式碼 commit 上去,可是這時候又會遇到自己的常常在使用的 codebase 可能是 Github, Gitlab......等等其他的服務。如果需要常常將 SSH key 作切換的話蠻麻煩的。… Read More
  • Git 使用 stash 功能來暫存目前修改的狀態 Preface 目前個人使用 Git 遇到會需要使用 stash 功能情境為,目前的 feature branch 開發到一半,但是有一個臨時的 hotfix 需要先進行修改。手邊目前的 feature branch 功能也還沒有完成到適合 commit 的狀態。想要在不進行 commit 的狀… Read More
  • Git 解決合併分支時的檔案衝突 Resolve conflicts while merging branches Preface 上一篇的筆記有提到如何進行 Git 分支合併,但在多人協同開發的環境底下,往往一定會遇到檔案發生衝突的狀況。這裡教大家單純的使用 Git 的 checkout 功能來解決衝突。 Tutorial 當你使用 merge 指令去合併分支的時候,有衝突發生時,Git 會要求使用者解… Read More
  • Git 設定個人資訊 Preface 當使用 Git 進行版本控制時,完成 local commit 後,需要將 commit push 到 remote repository 的時候需要將個人的 profile 一同 push 到 remote repository 前,需要先設定個人的 profile。 Tut… Read More
  • Git 移動目前修改的東西到另一個分支上 Preface 有時開發的時候,會發生在錯的分支上進行修改,這時可以利用 stash 來進行搬動剛剛所做的修改。下面就做一個假設我在 master branch 上進行了開發,想要把剛剛所做的改動移動到 develop branch 上。 Tutorial //先確認目前所做的改動 $ … Read More

0 comments:

Post a Comment