處理儲存庫與遠端
Git 儲存庫和遠端讓您能夠透過在不同位置同步工作,與他人協同合作。VS Code 提供整合式工具,讓您無需 Git 命令列知識即可處理遠端儲存庫。
本文涵蓋處理 Git 儲存庫和遠端,包括複製、發布、同步變更以及在 VS Code 中管理多個儲存庫。
了解遠端
遠端是託管在另一個伺服器上的 Git 儲存庫,例如 GitHub、Azure DevOps 或 GitLab。遠端透過提供團隊成員可以共享工作的中心位置來實現協作。
當您複製儲存庫時,Git 會自動建立一個名為 origin 的遠端,指向原始儲存庫。如果您需要與不同的伺服器或儲存庫互動,可以使用多個遠端。
處理遠端涉及三個主要操作
-
取得 (Fetch):從遠端下載提交而不會更改您的工作檔案。這讓您無需將他們的變更合併到您的工作中即可查看他人所做的內容。
-
拉取 (Pull):從遠端下載提交並將其合併到您目前的本地分支。這是一個結合了取得和合併的操作。
-
推送 (Push):將您的本地提交上傳到遠端,以便其他人可以存取您的變更。

當您推送時,Git 需要知道要將提交傳送到哪個遠端。預設情況下,Git 會使用為您目前分支設定的上游分支。如果沒有設定上游,VS Code 會提示您發布分支並設定上游。
新增遠端
若要為儲存庫新增遠端
-
在原始碼控制檢視 (⌃⇧G (Windows、Linux Ctrl+Shift+G)) 中,選取 更多動作 (...) > 遠端 > 新增遠端
或者,從命令選擇區 (⇧⌘P (Windows、Linux Ctrl+Shift+P)) 執行 Git:新增遠端 命令。
-
輸入遠端 URL
-
輸入遠端名稱 (例如,
upstream)
您的儲存庫現在有一個額外的遠端,您可以從中取得或推送。
使用類似的步驟來移除遠端 (Git:移除遠端)。
複製儲存庫
複製會在您的機器上建立遠端儲存庫的本地副本。複製的儲存庫包含遠端的所有分支、提交和歷史記錄。預設情況下,Git 會設定一個名為 origin 的遠端,指向您複製的 URL。
若要複製儲存庫,請在命令選擇區 (⇧⌘P (Windows、Linux Ctrl+Shift+P)) 執行 Git:複製 命令,或在原始碼控制檢視中選取 複製儲存庫 按鈕。
如果您從 GitHub 複製,VS Code 會提示您向 GitHub 進行驗證。然後,從清單中選取一個儲存庫複製到您的機器。該清單包含公開和私人儲存庫。對於其他 Git 提供者,請輸入儲存庫 URL。

複製時,VS Code 會要求您選取一個本地資料夾來儲存儲存庫。複製後,您可以選擇在新視窗中開啟複製的儲存庫。
GitHub Pull Requests and Issues 擴充功能透過提取請求和問題管理增強了 GitHub 整合。深入了解 如何在 VS Code 中使用 GitHub。
發布至 GitHub
如果您有未連接到遠端的本地儲存庫,您可以直接從 VS Code 將其發布到 GitHub。
若要將儲存庫發布到 GitHub
-
開啟原始碼控制檢視
-
在原始碼控制檢視中選取 發布至 GitHub
-
如果出現提示,請登入 GitHub
-
選擇建立公開或私人儲存庫
-
選取要在初始提交中包含哪些檔案
VS Code 會在 GitHub 上建立一個新的儲存庫,將其新增為遠端,並推送您的提交。
發布到 GitHub 是將您的本地工作上線的最快方式。它可以在一個步驟中建立儲存庫、配置遠端並推送您的提交。
推送、拉取與同步
推送、拉取和同步是使您的本地工作與遠端儲存庫保持同步的核心操作。
推送提交
推送會將您的本地提交上傳到遠端儲存庫。若要推送提交
-
在本地提交您的變更
-
在原始碼控制檢視中選取 更多動作 (...) > 推送
或者,選取狀態列中的同步圖示,即可在一個操作中同時進行拉取和推送。如果您想推送到特定的遠端,請使用 推送到 選項。
您也可以使用原始碼控制圖檢視工具列中的推送圖示來推送您的本地提交。
-
如果出現提示,請登入以向遠端進行驗證
您的提交已上傳到遠端分支。其他團隊成員現在可以拉取您的變更。
如果您的分支沒有設定上游,VS Code 會提示您先發布分支。
拉取提交
拉取會從遠端儲存庫下載提交並將其合併到您的本地分支。若要拉取提交
-
在原始碼控制檢視中選取 更多動作 (...) > 拉取
或者,選取狀態列中的同步圖示,即可在一個操作中同時進行拉取和推送。如果您想從特定的遠端拉取,請使用 從...拉取 選項。
您也可以使用原始碼控制圖檢視工具列中的拉取圖示來拉取遠端提交。
-
VS Code 會下載並合併遠端提交
如果您的本地變更與遠端提交之間存在衝突,VS Code 會透過 合併衝突解決工具 協助您解決這些衝突。
變基式拉取
您可以將本地提交變基到遠端變更之上,而不是合併遠端變更
-
在原始碼控制檢視中選取 更多動作 (...) > 拉取 (變基)
-
VS Code 會先套用遠端提交,然後在其之上重放您的本地提交
變基會建立一個沒有合併提交的線性歷史記錄。深入了解 Git 變基。
同步變更
同步結合了拉取和推送操作 - 它首先從遠端拉取變更,然後推送您的本地提交。這是保持工作同步的建議方式。
若要同步變更
- 在原始碼控制檢視中選取 同步變更
- 選取狀態列中的同步圖示

狀態列同步指示器顯示您有多少提交要推送 (↑) 和拉取 (↓)。例如,↑2 ↓1 表示您有 2 個提交要推送,1 個提交要拉取。
配置 git.confirmSync 設定以控制 VS Code 是否在同步前要求確認。
取得提交
取得會從遠端儲存庫下載提交,而不會將其合併到您的本地分支。這讓您可以在整合傳入的變更之前進行審查。
若要取得提交
- 在原始碼控制檢視中選取 更多動作 (...) > 取得
- 選取 從所有遠端取得 以從所有已配置的遠端取得
- 選取 取得 (修剪) 以取得並移除已刪除的遠端分支 (若要始終修剪,請啟用 git.pruneOnFetch 設定)
取得後,您可以在使用 拉取 合併傳入提交之前,在原始碼控制圖中審查它們。
若要在背景自動取得提交,請啟用 git.autofetch 設定 (預設為停用)。若要配置取得間隔,請使用 git.autofetchPeriod 設定 (預設 180 秒)。
狀態列同步動作
狀態列提供快速存取常見儲存庫和遠端操作的功能,無需開啟原始碼控制檢視。
分支指示器
左下角的分支指示器顯示
- 目前分支名稱:選取以切換分支
- 同步狀態:要推送的提交數 (↑) 和要拉取的提交數 (↓)
- 發布狀態:未發布的分支會顯示 發布分支

狀態列中的同步圖示 (旋轉箭頭) 使您能夠與遠端同步變更 (推送和拉取)。
您可以使用這些設定自訂狀態列行為
- git.showActionButton :控制要顯示哪個動作按鈕 (同步或提交)
- git.showPushSuccessNotification :成功推送後顯示通知
- git.showCommitInput :在原始碼控制檢視中顯示提交輸入
原始碼控制圖
原始碼控制圖提供您的提交歷史記錄、分支關係以及與遠端同步狀態的視覺化表示。這使得了解傳入和傳出變更變得容易。

圖表顯示
- 目前分支:以特殊指示器突出顯示
- 上游分支:顯示您尚未拉取的遠端提交
- 傳入提交 (↓):您可以在遠端拉取的提交
- 傳出提交 (↑):可以推送的本地提交
- 其他分支:儲存庫中的本地和遠端分支
您可以直接從圖形工具列取得、推送和拉取。圖形檢視也會顯示傳入和傳出變更,讓您輕鬆查看何時需要同步。選取圖形中的項目以檢視該提交中已變更的個別檔案。
使用這些設定自訂原始碼控制圖
- scm.graph.showIncomingChanges :顯示或隱藏傳入提交
- scm.graph.showOutgoingChanges :顯示或隱藏傳出提交
- scm.graph.pageSize :初始載入的提交數量
深入了解 如何使用原始碼控制圖檢視提交歷史記錄。
處理儲存庫
儲存庫檢視讓您可以在單一工作區中管理多個 Git 儲存庫。這在處理跨越多個儲存庫的專案時很有用。儲存庫檢視也會顯示與您的儲存庫相關聯的 Git 工作樹。

若要顯示儲存庫檢視,請從命令選擇區 (⇧⌘P (Windows、Linux Ctrl+Shift+P)) 執行 原始碼控制:聚焦於儲存庫檢視 命令。配置 scm.alwaysShowRepositories 設定以始終在原始碼控制檢視中顯示儲存庫檢視。
對於每個儲存庫,您都可以看到活動分支、同步狀態,並存取取得、拉取、推送等動作。
當您開啟包含 Git 儲存庫的資料夾時,VS Code 會自動偵測它們。如果您開啟一個包含多個儲存庫 (例如單一儲存庫) 的資料夾,所有儲存庫都會顯示在儲存庫檢視中。
儲存庫選擇模式
如果您喜歡一次只專注於一個儲存庫或工作樹,可以切換到單一儲存庫模式。在此模式下,您只會看到選定儲存庫的變更和圖形。在多儲存庫模式下操作時,原始碼控制檢視會顯示所有儲存庫的變更。使用 scm.repositories.selectionMode 設定可在多儲存庫和單一儲存庫模式之間切換。
憑證輔助工具
憑證輔助工具會安全地儲存您的驗證憑證,這樣您就不必在每次推送或拉取時都輸入它們。您應該 設定憑證輔助工具,以避免 VS Code 每次與遠端儲存庫互動時都要求憑證。