VS Code 中的 Git 分支和工作樹
Git 分支使您能夠同時處理不同的功能或實驗,而不會影響您的主程式碼庫。VS Code 提供了分支管理工具、用於並行開發的 Git 工作樹以及用於臨時更改的暫存管理。
本文介紹如何在 VS Code 中使用分支、工作樹和暫存來管理並行開發工作。
使用分支
分支是指向 Git 歷史記錄中特定提交的輕量級、可移動的指標。它們允許您從主開發線分離出來,並獨立地進行功能開發。
例如,假設您正在開發一個 Web 應用程式,需要新增使用者身份驗證,同時還要修復支付系統中的一個 bug。您可以建立兩個分支:
feature/user-authentication- 包含您的登入和註冊功能bugfix/payment-validation- 包含支付處理錯誤的修復
每個分支都維護自己的一組更改,而不會影響另一個分支。您可以在分支之間切換以處理不同的任務,稍後可以將已完成的分支合併回您的主分支。
檢視當前分支
當前分支出現在 VS Code 的多個位置:
- 狀態列:顯示當前分支名稱並允許快速切換分支。
- 儲存庫檢視:在儲存庫標題中顯示當前分支。
- 原始碼管理圖:視覺化地表示分支關係和歷史記錄。

切換分支
在 Git 術語中,切換到不同分支稱為“簽出”(checkout) 分支。簽出分支時,Git 會更新您的工作目錄以匹配該分支的狀態。
切換到不同分支
-
在狀態列中選擇分支名稱,或透過命令面板 (⇧⌘P (Windows, Linux Ctrl+Shift+P)) 執行 Git: Checkout to 命令。
-
從可用分支列表中選擇
- 本地分支:存在於您本地機器上的分支。
- 遠端分支:來自遠端儲存庫的分支,您可以在本地簽出。
- 最近使用的分支:最近使用的分支。
如果您在切換分支時有未提交的更改,Git 可能會阻止切換以避免丟失工作。請考慮在切換之前提交您的更改或使用 暫存。
建立新分支
建立一個新分支以開始處理功能或實驗。
-
在狀態列中選擇分支名稱,或在命令面板中執行 Git: Create Branch。
-
為您的新分支輸入名稱。使用描述性名稱,如
feature/user-authentication或bugfix/login-error。提示VS Code 可以為您生成隨機分支名稱。使用 git.branchRandomName.enable 和 git.branchRandomName.dictionary 設定進行配置。
-
選擇要從中建立新分支的源分支(通常是
main或develop)。

VS Code 在建立後會自動切換到新分支。
如果您使用 GitHub Pull Requests and Issues 擴充套件,您可以直接從 GitHub issues 建立分支,從而開始在一個新的本地分支中工作,並自動為您預填充拉取請求。
重新命名和刪除分支
重新命名當前分支
- 在命令面板中執行 Git: Rename Branch,或從“更多操作” (...) 選單中選擇它。
- 輸入新的分支名稱。
刪除分支
- 切換到另一個分支(您無法刪除當前活動的分支)。
- 在命令面板中執行 Git: Delete Branch,或從“更多操作” (...) 選單中選擇它。
- 從列表中選擇要刪除的分支。
您還可以使用匹配的 **Delete Remote Branch** 操作來刪除遠端分支。
刪除分支將永久性地從您的本地儲存庫中移除。請確保該分支已被合併,或者您不再需要這些更改。
合併和釋出分支
當您的功能完成後,將其合併回主分支。
- 切換到目標分支(通常是
main或develop)。 - 在命令面板中執行 Git: Merge Branch。
- 選擇要合併的分支。
要將分支釋出到您的遠端儲存庫,請使用 **Publish Branch** 操作。
VS Code 在原始碼管理檢視中顯示合併結果。如果存在衝突,VS Code 會突出顯示它們並提供解決工具。瞭解有關 解決合併衝突 的更多資訊。
使用 Git 工作樹
VS Code 內建支援 Git 工作樹,讓您可以輕鬆地同時管理和處理多個分支。
瞭解工作樹
工作樹是 Git 分支在自己的目錄中的獨立簽出。這允許您為同一儲存庫擁有多個工作目錄,每個工作目錄都在不同的分支上。工作樹功能特別適用於:
- 在單獨的資料夾中同時處理多個功能。
- 並行執行應用程式的不同版本。
- 比較不同分支之間的實現。
建立工作樹
在 VS Code 中建立新的工作樹:
-
從原始碼管理檢視開啟 **Source Control Repositories** 檢視。

-
右鍵單擊您的儲存庫,然後選擇 **Worktree** > **Create Worktree**。

-
按照提示選擇新工作樹的分支和位置。
VS Code 會在指定位置建立一個新的工作樹資料夾,並將選定的分支簽出到該資料夾中。
新的工作樹將顯示為 **Source Control Repositories** 檢視中的一個單獨條目。
切換工作樹
VS Code 可以同時顯示多個儲存庫(包括工作樹)。
- 每個工作樹在 **Source Control Repositories** 檢視中都顯示為一個單獨的儲存庫。
- 您可以開啟多個 VS Code 視窗,每個視窗指向一個不同的工作樹。
- 使用 **File** > **Open Recent** 快速切換工作樹目錄。
開啟工作樹
有多種方法可以開啟工作樹:
-
直接在 VS Code 中開啟與工作樹關聯的資料夾。VS Code 會自動檢測到它是現有儲存庫的工作樹。
-
在“原始碼管理儲存庫”檢視中右鍵單擊工作樹,然後選擇 **Open Worktree in New Window** 或 **Open Worktree in Current Window**。
-
在命令面板中執行 **Git: Open Worktree in Current Window** 或 **Git: Open Worktree in New Window** 命令,然後選擇所需的工作樹。
比較和遷移工作樹的更改
當您在工作樹中進行更改時,您可以將這些更改與您的主工作區進行比較,並將工作樹的更改帶回您的主儲存庫。
-
在“原始碼管理”檢視中,右鍵單擊工作樹中的已更改檔案,然後選擇 **Compare with Workspace** 以並排檢視差異。

-
審查後,使用命令面板中的 **Migrate Worktree Changes** 命令將工作樹中的所有更改合併到您當前的工作區。
後續步驟
- 暫存和提交 - 瞭解如何在分支內提交更改。
- 合併衝突 - 處理合併分支時的衝突
- 儲存庫和遠端 - 使用遠端分支和協作。
- 在 GitHub 上協作 - 在分支工作流中使用 GitHub 拉取請求。