現已釋出!閱讀關於 11 月新增功能和修復的內容。

使用儲存庫和遠端倉庫

遠端倉庫和遠端儲存庫使您可以透過在不同位置同步工作來與他人協作。VS Code 提供整合的工具來使用遠端儲存庫,而無需命令列 Git 知識。

本文件介紹了在 VS Code 中使用 Git 儲存庫和遠端倉庫,包括克隆、釋出、同步更改和管理多個儲存庫。

理解遠端倉庫

遠端倉庫是在另一臺伺服器(例如 GitHub、Azure DevOps 或 GitLab)上託管的 Git 儲存庫。遠端倉庫透過提供一箇中心位置供團隊成員共享他們的工作來實現協作。

當您克隆一個儲存庫時,Git 會自動建立一個名為 origin 的遠端倉庫,該遠端倉庫指向原始儲存庫。如果您需要與不同的伺服器或儲存庫互動,則可以處理多個遠端倉庫。

使用遠端倉庫涉及三個主要操作:

  • Fetch (獲取):下載遠端倉庫的提交,而不更改您的工作檔案。這使您可以檢視他人的工作,而無需將他們的更改合併到您的工作中。

  • Pull (拉取):下載遠端倉庫的提交併將它們合併到您當前的本地分支。這是 fetch 和 merge 的一個操作。

  • Push (推送):將您的本地提交上傳到遠端倉庫,以便他人可以訪問您的更改。

Diagram of Git fetch, pull, and push operations between local and remote repositories.

當您推送時,Git 需要知道將提交發送到哪個遠端倉庫。預設情況下,Git 使用為您當前分支配置的上游分支。如果沒有設定上游,VS Code 會提示您釋出分支並設定上游。

新增遠端倉庫

要將新遠端倉庫新增到您的儲存庫:

  1. 在“原始碼管理”檢視(⌃⇧G (Windows, Linux Ctrl+Shift+G))中,選擇“更多操作”(...)>“遠端倉庫”>“新增遠端倉庫”。

    或者,從命令面板(⇧⌘P (Windows, Linux Ctrl+Shift+P))執行 **Git: Add Remote** 命令。

  2. 輸入遠端倉庫的 URL。

  3. 為遠端倉庫輸入一個名稱(例如,upstream)。

您的儲存庫現在有一個附加的遠端倉庫,您可以從中獲取或推送到該倉庫。

使用類似的步驟刪除遠端倉庫(**Git: Remove Remote**)。

克隆儲存庫

克隆會在您的計算機上建立遠端倉庫的本地副本。克隆的儲存庫包含遠端倉庫的所有分支、提交和歷史記錄。預設情況下,Git 會配置一個名為 origin 的遠端倉庫,指向您從中克隆的 URL。

要克隆一個儲存庫,請在命令面板(⇧⌘P (Windows, Linux Ctrl+Shift+P))中執行 **Git: Clone** 命令,或在“原始碼管理”檢視中選擇“克隆儲存庫”按鈕。

如果您從 GitHub 克隆,VS Code 會提示您對 GitHub 進行身份驗證。然後,從列表中選擇一個儲存庫克隆到您的計算機。列表包含公共和私有儲存庫。對於其他 Git 提供者,請輸入儲存庫 URL。

Screenshot of the Clone Repository prompt in VS Code.

克隆時,VS Code 會詢問您選擇一個本地資料夾來儲存儲存庫。克隆後,您可以選擇在新視窗中開啟克隆的儲存庫。

GitHub Pull Requests and Issues 擴充套件透過拉取請求和問題管理增強了 GitHub 整合。瞭解更多關於 在 VS Code 中使用 GitHub

釋出到 GitHub

如果您有一個尚未連線到遠端倉庫的本地儲存庫,您可以直接從 VS Code 將其釋出到 GitHub。

要將儲存庫釋出到 GitHub:

  1. 開啟“原始碼管理”檢視。

  2. 在“原始碼管理”檢視中選擇“釋出到 GitHub”。

  3. 如果出現提示,請登入 GitHub。

  4. 選擇是建立公共儲存庫還是私有儲存庫。

  5. 選擇要包含在初始提交中的檔案。

VS Code 會在 GitHub 上建立一個新儲存庫,將其新增為遠端倉庫,並推送您的提交。

提示

釋出到 GitHub 是將您的本地工作在線上的最快方法。它在一個步驟中建立儲存庫、配置遠端倉庫並推送您的提交。

推送、拉取和同步

推送、拉取和同步是將本地工作與遠端儲存庫保持同步的核心操作。

推送提交

推送會將您的本地提交上傳到遠端儲存庫。要推送提交:

  1. 在本地提交您的更改。

  2. 在“原始碼管理”檢視中,選擇“更多操作”(...)>“推送”。

    或者,選擇狀態列中的同步圖示以一次性執行拉取和推送操作。如果您想推送到特定的遠端倉庫,請使用“推送到”選項。

    您還可以透過使用“原始碼管理圖”檢視工具欄中的“推送”圖示來推送您的本地提交。

  3. 如果出現提示,請登入以進行遠端身份驗證。

您的提交已上傳到遠端分支。其他團隊成員現在可以拉取您的更改了。

注意

如果您的分支未配置上游,VS Code 會提示您先發布該分支。

拉取提交

拉取會將提交從遠端儲存庫下載併合併到您的本地分支。要拉取提交:

  1. 在“原始碼管理”檢視中,選擇“更多操作”(...)>“拉取”。

    或者,選擇狀態列中的同步圖示以一次性執行拉取和推送操作。如果您想從特定的遠端倉庫拉取,請使用“從...拉取”選項。

    您還可以透過使用“原始碼管理圖”檢視工具欄中的“拉取”圖示來拉取遠端提交。

  2. VS Code 下載併合並遠端提交。

如果您的本地更改與遠端提交之間存在衝突,VS Code 會透過 合併衝突解決工具 幫助您解決它們。

拉取(Rebase)

您可以將本地提交變基到遠端更改之上,而不是合併遠端更改。

  1. 在“原始碼管理”檢視中,選擇“更多操作”(...)>“拉取 (Rebase)”。

  2. VS Code 首先應用遠端提交,然後將您的本地提交重放到其之上。

Rebase 會建立一個線性歷史記錄,而不會產生合併提交。瞭解更多關於 Git rebase 的資訊。

同步更改

同步結合了拉取和推送操作 - 它首先從遠端倉庫拉取更改,然後推送您的本地提交。這是保持工作同步的推薦方式。

要同步更改:

  • 在“原始碼管理”檢視中選擇“同步更改”。
  • 選擇狀態列中的同步圖示。

Screenshot of the Sync Changes button in the Source Control view.

狀態列的同步指示器顯示您需要推送(↑)和拉取(↓)的提交數量。例如,↑2 ↓1 表示您有 2 個提交要推送,1 個提交要拉取。

提示

配置 git.confirmSync 設定,以控制 VS Code 在同步前是否會提示確認。

獲取提交

獲取會將提交從遠端儲存庫下載,而不會將它們合併到您的本地分支。這使您可以在整合傳入更改之前對其進行審查。

要獲取提交:

  • 在“原始碼管理”檢視中,選擇“更多操作”(...)>“獲取”。
  • 選擇“從所有遠端倉庫獲取”以從所有已配置的遠端倉庫獲取。
  • 選擇“獲取 (Prune)”以獲取並刪除已刪除的遠端分支(要始終修剪,請啟用 git.pruneOnFetch 設定)。

獲取後,您可以在“原始碼管理圖”中審查傳入的提交,然後再使用“拉取”合併它們。

要在後臺自動獲取提交,請啟用 git.autofetch 設定(預設停用)。要配置獲取間隔,請使用 git.autofetchPeriod 設定(預設 180 秒)。

狀態列同步操作

狀態列提供了對常用儲存庫和遠端操作的快速訪問,無需開啟“原始碼管理”檢視。

分支指示器

左下角的“分支”指示器顯示:

  • 當前分支名稱:選擇以切換分支。
  • 同步狀態:要推送(↑)和拉取(↓)的提交數量。
  • 釋出狀態:未釋出分支顯示“釋出分支”。

Screenshot of the Status Bar showing the branch indicator with sync status.

狀態列中的同步圖示(旋轉箭頭)使您能夠將更改與遠端倉庫同步(推送和拉取)。

您可以使用以下設定自定義狀態列的行為:

原始碼管理圖

“原始碼管理圖”提供了您的提交歷史記錄、分支關係以及與遠端倉庫的同步狀態的視覺表示。這使得理解傳入和傳出的更改變得容易。

Screenshot of the Source Control Graph showing commit history and incoming/outgoing commits.

該圖顯示:

  • 當前分支:以特殊指示器突出顯示。
  • 上游分支:顯示您尚未拉取的遠端分支上的提交。
  • 傳入提交(↓):您可拉取的遠端分支上的提交。
  • 傳出提交(↑):您可以推送的本地提交。
  • 其他分支:您儲存庫中的本地和遠端分支。

您可以直接從圖的工具欄獲取、推送和拉取。圖檢視還顯示傳入和傳出的更改,使您輕鬆瞭解何時需要同步。選擇圖中的一項以檢視該提交中更改的單個檔案。

使用以下設定自定義“原始碼管理圖”:

瞭解更多關於 使用“原始碼管理圖”檢視提交歷史記錄 的資訊。

使用儲存庫

“儲存庫”檢視使您能夠在一個工作區中管理多個 Git 儲存庫。這在處理跨越多個儲存庫的專案時很有用。“儲存庫”檢視還顯示與您的儲存庫關聯的 Git worktrees

Screenshot of the Repositories view in VS Code showing multiple Git repositories.

要顯示“儲存庫”檢視,請在命令面板(⇧⌘P (Windows, Linux Ctrl+Shift+P))中執行 **Source Control: Focus on Repositories View** 命令。配置 scm.alwaysShowRepositories 設定以始終在“原始碼管理”檢視中顯示“儲存庫”檢視。

對於每個儲存庫,您都可以看到活動分支、同步狀態,並訪問獲取、拉取、推送等操作。

當您開啟包含 Git 儲存庫的資料夾時,VS Code 會自動檢測它們。如果您開啟一個包含多個儲存庫的資料夾(例如,monorepo),所有儲存庫都會出現在“儲存庫”檢視中。

儲存庫選擇模式

如果您希望一次專注於一個儲存庫或 worktree,您可以切換到單儲存庫模式。在該模式下,您只能看到所選儲存庫的更改和圖。在多儲存庫模式下操作時,“原始碼管理”檢視顯示所有儲存庫的更改。使用 scm.repositories.selectionMode 設定在多儲存庫和單儲存庫模式之間切換。

憑據助手

憑據助手可以安全地儲存您的身份驗證憑據,這樣您就不必每次推送或拉取時都輸入它們。您應該 設定憑據助手,以避免每次 VS Code 與遠端儲存庫互動時都被要求輸入憑據。

後續步驟

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