VS Code 中的 Git 分支與工作樹

Git 分支讓您能同時開發不同的功能或進行實驗,而不會影響到您的主要程式碼庫。VS Code 提供了分支管理工具、用於平行開發的 Git 工作樹,以及暫存 (stash) 管理功能來處理臨時變更。

本文將介紹如何在 VS Code 中使用分支、工作樹和暫存功能,以管理平行開發工作。

使用分支

分支是輕量、可移動的指標,指向 Git 歷史記錄中的特定提交。它們讓您可以脫離主要的開發流程,獨立地進行功能開發。

舉例來說,假設您正在開發一個網路應用程式,需要新增使用者驗證功能,同時也需修復支付系統中的一個錯誤。您可以建立兩個分支:

  • feature/user-authentication - 包含您的登入與註冊功能
  • bugfix/payment-validation - 包含支付處理錯誤的修復

每個分支都維護著自己的一組變更,而不會相互影響。您可以在分支之間切換以處理不同的任務,並在完成後將已完成的分支合併回主要分支。

檢視目前分支

VS Code 中會有多處顯示目前分支:

  • 狀態列:顯示目前分支名稱,並可快速切換分支
  • 存放庫檢視:在存放庫標題中顯示目前分支
  • 原始檔控制圖表:視覺化呈現分支關係和歷史記錄

Screenshot showing the current branch displayed in the Status Bar and Source Control view.

在分支之間切換

在 Git 術語中,切換到不同分支稱為「簽出 (checking out)」分支。當您簽出一個分支時,Git 會更新您的工作目錄以符合該分支的狀態。

若要切換到不同分支:

  1. 在狀態列中選取分支名稱,或從命令選擇區 (⇧⌘P (Windows、Linux Ctrl+Shift+P)) 執行Git:簽出至命令。

  2. 從可用分支清單中選擇:

    • 本機分支:存在於您本機電腦上的分支
    • 遠端分支:您可以本機簽出的遠端存放庫分支
    • 最近的分支:最近使用的分支
提示

如果在切換分支時有未提交的變更,Git 可能會阻止切換以避免工作遺失。請考慮在切換之前提交您的變更或使用暫存 (stash)

建立新分支

建立一個新分支,以開始開發功能或進行實驗

  1. 在狀態列中選取分支名稱,或從命令選擇區執行Git:建立分支

  2. 為您的新分支輸入名稱。使用描述性名稱,例如 feature/user-authenticationbugfix/login-error

    提示

    VS Code 可以為您產生隨機的分支名稱。您可以使用 git.branchRandomName.enable Open in VS Code Open in VS Code Insiders git.branchRandomName.dictionary Open in VS Code Open in VS Code Insiders 設定來配置此功能。

  3. 選擇要建立新分支的來源分支 (通常是 maindevelop)。

Screenshot showing the create branch dialog with branch name input and source branch selection.

VS Code 會在建立後切換到新分支。

提示

如果您使用 GitHub Pull Requests and Issues 擴充功能,您可以直接從 GitHub 問題建立分支,這將讓您在新本機分支中開始工作,並自動為您預填拉取要求 (pull request)。

重新命名和刪除分支

若要重新命名目前分支:

  1. 從命令選擇區執行Git:重新命名分支,或從更多動作 (...) 選單中選取它。
  2. 輸入新的分支名稱。

若要刪除分支:

  1. 切換到不同分支 (您無法刪除目前作用中的分支)。
  2. 從命令選擇區執行Git:刪除分支,或從更多動作 (...) 選單中選取它。
  3. 從清單中選取要刪除的分支。

您也可以使用相符的刪除遠端分支動作來刪除遠端分支。

注意

刪除分支會將其從您的本機存放庫中永久移除。請確保該分支已合併,或者您不再需要這些變更。

合併並發布分支

當您的功能開發完成時,將其合併回主要分支:

  1. 切換到目標分支 (通常是 maindevelop)。
  2. 從命令選擇區執行Git:合併分支
  3. 選取要合併的分支。

若要將分支發布到您的遠端存放庫,請使用發布分支動作。

VS Code 會在原始檔控制檢視中顯示合併結果。如果存在衝突,VS Code 會將其標示出來,並提供工具來解決它們。深入了解解決合併衝突

使用 Git 工作樹

VS Code 內建支援 Git 工作樹,讓您能輕鬆地同時管理和處理多個分支。

了解工作樹

工作樹是 Git 分支在獨立目錄中的另一個簽出。這讓您可以針對同一個存放庫擁有多個工作目錄,每個目錄都位於不同的分支上。工作樹功能特別適用於:

  • 在獨立資料夾中同時開發多個功能
  • 並排執行應用程式的不同版本
  • 比較不同分支的實作

建立工作樹

若要在 VS Code 中建立新的工作樹:

  1. 從原始檔控制檢視中開啟原始檔控制存放庫檢視。

    Screenshot showing the Source Control Repositories view with multiple repositories listed.

  2. 選取您的存放庫,開啟更多動作 (...) 選單,然後選擇工作樹 > 建立工作樹

    Screenshot showing the worktree context menu in the Source Control Repositories view.

  3. 依照提示選擇新工作樹的分支和位置。

    VS Code 會在指定位置為工作樹建立一個新資料夾,並將選取的分支簽出到該資料夾中。

新的工作樹會以獨立項目顯示在原始檔控制存放庫檢視中。

在工作樹之間切換

VS Code 可以同時顯示多個存放庫 (包括工作樹):

  • 每個工作樹都會在原始檔控制存放庫檢視中顯示為獨立的存放庫
  • 您可以開啟多個 VS Code 視窗,每個視窗都指向不同的工作樹
  • 使用檔案 > 開啟最近的項目來快速切換工作樹目錄

開啟工作樹

有多種方式可以開啟工作樹:

  • 直接在 VS Code 中開啟與工作樹關聯的資料夾。VS Code 會自動偵測到它是現有存放庫的工作樹。

  • 在原始檔控制存放庫檢視中右鍵點擊工作樹,然後選取在新視窗中開啟工作樹在目前視窗中開啟工作樹

  • 在命令選擇區中執行Git:在目前視窗中開啟工作樹Git:在新視窗中開啟工作樹命令,並選取所需的工作樹。

比較並移轉工作樹中的變更

當您在工作樹中進行變更時,您可以將這些變更與您的主要工作區進行比較,並將工作樹變更帶回您的主要存放庫。

  1. 在原始檔控制檢視中,右鍵點擊工作樹中已變更的檔案,然後選取與工作區比較以並排檢視差異。

    Screenshot showing the compare with workspace option in the worktree context menu and side-by-side diff view.

  2. 檢閱後,從命令選擇區使用移轉工作樹變更命令,將工作樹中的所有變更合併到您目前的工作區中。

後續步驟

© . This site is unofficial and not affiliated with Microsoft.