Git 切換



git switch 命令用於在 Git 中切換分支。它比git checkout 命令更現代,並在Git 2.23 中引入,以簡化分支切換過程。

語法

git switch <branch-name>

<分支名稱> 是您需要切換到的分支的名稱。

選項

git switch 命令具有以下選項

-c 或 --create

  • 使用git switch -c 命令建立一個新分支並立即切換到它。

git switch -c new-branch

git switch -create new-branch

-C 或 --create --force

  • 使用git switch -C 命令建立一個新分支並立即切換到它,即使該分支已經存在。它會重置分支並覆蓋它。

git switch -C <branch-name>

-f 或 --force

  • 它切換分支並丟棄未提交的更改。

git switch -f <branch-name>

--detach

  • 它切換到給定的提交,但分離HEAD,這表示您不再位於任何分支上。

  • 這實際上意味著您正在處理一個提交,而不會影響任何分支。

git switch --detach <commit-hash>

--guess

  • 使用此選項,您可以提供分支名稱的一部分,Git 將依次猜測名稱並返回結果,切換到該分支。

  • 此選項預設啟用,但可以使用--no-guess 選項關閉。

git switch --guess <branch-name-part>

--track

  • 此選項會自動從遠端分支設定新分支的跟蹤。

  • 當您檢出一個遠端倉庫中存在的分支時,此選項很有用,並且您需要將本地分支設定為跟蹤遠端分支。

git switch --track <remote-branch>

--no-track

  • 當從遠端跟蹤分支建立分支時,Git 會自動設定分支的跟蹤。

  • 為了防止分支跟蹤,可以使用--no-track 選項。

git switch --no-track <branch-name>

--orphan

  • 建立一個沒有歷史記錄的新分支。用於建立具有全新起點的新分支。

git switch --orphan <new-branch-name>

--discard-changes

  • -f 類似,它也會切換分支,同時丟棄工作目錄中未提交的更改。

  • 當您想要丟棄更改並且不想強制切換時,它很有用。

git switch --discard-changes <branch-name>

--merge

  • 此選項透過嘗試合併它們來避免丟失工作目錄中的更改。

git switch --merge <branch-name>

--progress 和 --no-progress

  • 此選項控制是否需要在切換時顯示進度。

  • 它通常用於可能顯示進度的長時間操作,例如檢出大型檔案。

git switch --progress <branch-name>

git switch --no-progress <branch-name>

git checkout 等舊命令相比,您可以使用git switch 更精確和清晰地管理分支切換。

廣告