共用方式為


關於 Visual Studio 中的 Git

Visual Studio 為 Git 提供使用者介面,這是廣泛使用的新式版本控制系統。 無論您的原始程式碼裝載在 GitHub 存放庫、Azure DevOps 或其他 Git 提供者中,您都可以在 Visual Studio IDE 中執行所有常見的版本控制工作。 或者,您可以完全在本機上工作,不使用任何提供者,並在您準備好連接提供者時,選擇稍後備份您的資料來源。

您使用的原始程式碼不需要使用 Visual Studio 建立。 不論是否有 Visual Studio 項目檔,都可以在任何 Git 存放庫中使用任何源資料夾。

從 Visual Studio 中的 Git 和 GitHub 開始

若要開始使用 Git 與 Visual Studio:

  • 如果您的 Git 存放庫裝載在 GitHub 之類的 Git 提供者上,將存放庫 複製到本機電腦。

  • 否則,請輕鬆地 建立新的 Git 存放庫,並將程式代碼新增至。 如果您還沒有 Git 提供者,建議您從 GitHub 開始,因為 Visual Studio 中的 Git 體驗已針對此提供者優化。 GitHub 提供免費且安全的雲端程式代碼記憶體,您可以在其中儲存您的程式代碼,並從任何裝置隨時隨地進行存取。

您不僅可以將 GitHub 和 GitHub Enterprise 帳戶新增至密鑰鏈,還可以像使用Microsoft帳戶一樣運用它們。 如果您沒有 GitHub 帳戶,請遵循下列步驟來 建立 GitHub 帳戶,以便立即與 Visual Studio 搭配使用。

Visual Studio 中 [建立 Git 存放庫] 對話框的螢幕快照。

如果您想要在命令行使用 git 命令,您也應該安裝 Git for Windows (不是Microsoft產品)。

在方案總管中檢視檔案

當您複製存放庫或開啟本機存放庫時,Visual Studio 會切換至 Git 內容。 [方案總管] 會載入 Git 存放庫根目錄的資料夾,並掃描目錄樹狀結構中是否有任何可檢視的檔案,例如 CMakeLists.txt 或擴展名為 .sln 的檔案。 如需更多資訊,請參閱 在方案總管中查看檔案

分支和遠端存放庫

您可以使用分支,將相關變更與您目前正在處理的不相關變更分開。 建議的 Git 工作流程會針對您處理的每個功能或修正使用新的分支。 瞭解如何使用 Visual Studio 建立 分支

建立新的分支並切換至該分支之後,您可以透過變更現有的檔案或添加新檔案開始工作,然後將工作提交至存放庫。 若要深入瞭解如何在 Visual Studio 中提交變更,以及更加明白 Git 內的檔案狀態,請參閱 演示提交變更 頁面。

Git 是分散式版本控制系統,表示到目前為止所做的所有變更都是僅限本機變更。 若要將這些變更提供給遠端存放庫,您必須 將這些本機認可推送至遠端

如果您在小組中工作,或正在使用不同的計算機,您可能需要擷取並提取遠端存放庫上的新變更。 若要深入瞭解如何在 Visual Studio 中管理 Git 網路作業,請參閱 提取、提取、推送和同步處理 頁面。

Visual Studio IDE,其中顯示 [Git] 功能表和 [方案總管] 中的 [Git 變更] 索引標籤。

存放庫管理和共同作業

不過,有時候將焦點放在 Git 存放庫更合理。 例如,您可能需要瞭解團隊正在處理工作的全貌,或從不同的分支複製提交,或者只是清理尚未送出的提交。 Visual Studio 包含功能強大的 存放庫瀏覽 和共同作業功能,不需要使用其他工具。

為了協助您專注於 Git 存放庫,Visual Studio 提供一個 Git 存放庫 視窗,這是一個統一檢視,呈現存放庫中所有詳細資料,包括本機與遠端分支,以及提交歷史記錄。 您可以直接從功能表列上的 Git檢視,或從狀態列存取此視窗。

高亮顯示在 [方案總管] 中的 [Git 功能表] 和 [Git 變更標籤] 的 Visual Studio IDE。

流覽和管理 Git 存放庫

若要深入瞭解如何使用 Visual Studio 中的 [Git 存放庫] 視窗來瀏覽和管理 Git 存放庫,請參閱下列頁面:

處理合併衝突

如果兩位開發人員修改檔案中的相同行,而且 Git 不會自動知道哪一行正確,則合併期間可能會發生衝突。 Git 會停止合併,並通知您處於衝突狀態。 瞭解詳情,請參閱 解決合併衝突頁面

個人化您的 Git 設定

若要在存放庫層級和全域層級個人化您的 Git 設定:

  1. 移至功能表欄上的 Git>[設定],或 [工具]>[選項]>原始檔控制>Git 全域設定

  2. 選擇您想要的 選項。

    [選項] 對話框的螢幕快照,您可以在 Visual Studio IDE 中選擇個人化和自定義設定。

生產力提升

在 Visual Studio 2022 17.12版中,您可以選取任何程式代碼區段,然後按下滑鼠右鍵,展開 Git 子功能表,然後選擇 [複製 GitHub Permalink (或 複製 AzureDevOps Permalink) 來產生 GitHub Permalink 或 Azure DevOps Permalink,並將其複製到剪貼簿。 您可以將連結貼在任何需要使用連結的地方,例如在瀏覽器中,或透過電子郵件、聊天和文檔來分享。 您也可以在 Git 存放庫 視窗中的內嵌認可詳細數據檢視中執行相同的動作。 這項功能可讓您參考先前提交的特定代碼,而不需要切換版本。 您必須 使用 Git 主控提供者、GitHub 或 Azure DevOps 的帳戶登入 Visual Studio

在 Visual Studio 2022 版 17.6中,您可以 搜尋連結 GitHub 問題和 Azure DevOps 工作專案。 請參閱 Git 功能以增強生產力 部落格文章。

Git 現在是 Visual Studio 2019 的預設版本控制體驗。 自從 16.6 版,我們一直努力建置功能集,並根據您的意見回饋不斷改進。 在 16.8 版中,它成為每個人的預設版本控制體驗。

提示

我們也會在 Visual Studio 2022中持續改進和完善 Git 功能集。 若要深入瞭解最近的功能更新,請參閱Visual Studio 部落格文章中的 多重存放庫支援。

深入瞭解 Git

Git 是最常使用的新式版本控制系統,因此無論您是專業開發人員,還是學習如何撰寫程式代碼,Git 都對您非常有用。 如果您不熟悉 Git,https://git-scm.com/ 網站是很好的起點。 您可以在該處找到速查表、熱門的在線書籍和 Git 基本概念影片。

從 Visual Studio 2019 中的 Git 開始

我們將逐步引導您瞭解如何在 Visual Studio 中使用新的 Git 體驗,但如果您想要先進行快速導覽,請參閱下列影片:

視訊長度:5.27 分鐘

有三種方式可以開始搭配Visual Studio使用 Git 以提高生產力:

  • 建立新的 Git 存放庫。 如果您已經有與 Git 沒有關聯的程式代碼,您可以從建立新的 Git 存放庫開始。
  • 複製現有的 Git 存放函式庫。 如果您想要處理的程式代碼不在您的電腦上,您可以複製任何現有的遠端存放庫。
  • 開啟現有的 Git 存放庫。 如果您的程式碼已經在您的電腦上,您可以使用 File>Open>Project/Solution (或 Folder),Visual Studio 將自動偵測是否存在已初始化的 Git 存儲庫。

注意

從 Visual Studio 2019 16.8 版開始,我們包含完全整合的 GitHub 帳戶體驗。 您現在可以將 GitHub 和 GitHub Enterprise 帳戶新增至密鑰鏈。 您可以新增和運用它們,就像使用 Microsoft 帳戶一樣,這表示您將更容易跨 Visual Studio 存取 GitHub 資源。 如需詳細資訊,請參閱visual Studio 頁面中的 使用 GitHub 帳戶。

提示

如果您沒有 GitHub 帳戶,您可以遵循 建立 GitHub 帳戶以搭配 Visual Studio 頁面中所述的步驟開始。

在 Visual Studio 2019 中建立新的 Git 存放庫

如果您的程式代碼未與 Git 相關聯,您可以從建立新的 Git 存放庫開始。 若要這樣做,請從功能表欄選取 [Git>建立 Git 存放庫。 然後,在 [建立 Git 存放庫] 對話框中,輸入您的資訊。

Visual Studio 中的 [建立 Git 存放庫] 對話方塊。

[建立 Git 存放庫] 對話框可讓您輕鬆地將新的存放庫推送至 GitHub。 根據預設,您的新存放庫是私人的,這表示您是唯一可以存取它的人員。 如果您取消核取方塊,您的存放庫將會是公用的,這表示 GitHub 上的任何人都可以檢視它。

提示

無論您的存放庫是公用或私人的,最好是讓程式代碼的遠端備份安全地儲存在 GitHub 上,即使您未與小組合作也一樣。 這也使得無論您使用的是哪台電腦,您的程式代碼都可供您使用。

您可以選擇使用 [僅限本機 ] 選項,建立僅限本機的 Git 存放庫。 或者,您可以使用 [現有遠端] 選項,將本機項目連結至 Azure DevOps 上現有的空白遠端存放庫或任何其他 Git 提供者。

在 Visual Studio 2019 中複製現有的 Git 存放庫

Visual Studio 包含簡單的複製體驗。 如果您知道要複製的存放庫 URL,您可以在 [存放庫位置] 區段中貼上 URL 區段,然後選擇您想要 Visual Studio 複製的磁碟位置。

Visual Studio 中的「複製 Git 存放庫」對話方塊。

如果您不知道存放庫 URL,Visual Studio 可讓您輕鬆地瀏覽並複製現有的 GitHub 或 Azure DevOps 存放庫。

在 Visual Studio 2019 中開啟現有的本機存放庫

複製存放庫或建立存放庫之後,Visual Studio 會偵測 Git 存放庫,並將它新增至 Git 功能表中 本機存放庫 清單。

您可以從這裡快速存取和切換 Git 存放庫。

Visual Studio Git 功能表中的 [本機存放庫] 選項

在 Visual Studio 2019 中檢視方案總管中的檔案

當您複製存放庫或開啟本機存放庫時,Visual Studio 會儲存並關閉任何先前開啟的解決方案和專案,將您切換至該 Git 內容。 方案總管會載入 Git 存放庫根目錄的資料夾,並掃描目錄樹狀結構中是否有任何可檢視的檔案。 其中包括如 CMakeLists.txt 檔案或副檔名為 .sln 的檔案。

Visual Studio 會根據您在 [方案總管] 中載入的檔案來調整其檢視:

  • 如果您複製包含單一 .sln 檔案的存放庫,則 [方案總管] 會為您直接載入該解決方案。
  • 如果 [方案總管] 未偵測到存放庫中的任何 .sln 檔案,則預設會載入 [資料夾檢視]。
  • 如果您的存放庫有多個 .sln 檔案,[方案總管] 會顯示可供您選擇的可用檢視清單。

您可以使用 [方案總管] 工具列中的 [切換檢視] 按鈕,在目前開啟的 [檢視] 和 [檢視] 列表之間切換。

方案總管,並在 Visual Studio 中選取 [切換檢視] 按鈕。

如需詳細資訊,請參閱 從存放庫開啟專案 教學課程的 解決方案總管中的檢視檔案 一節。

Visual Studio 2019 中的 [Git 變更] 視窗

Git 會在您工作時追蹤存放庫中的檔案變更,並將存放庫中的檔案分成三個類別。 這些變更相當於您在命令列中輸入 git status 命令時所看到的內容:

  • 未修改的檔案:這些檔案自上次提交後尚未更動。
  • 修改過的檔案:這些檔案自您上次提交後已有變更,但您尚未暫存至下一次提交。
  • 暫存文件:這些檔案包含將被新增至下一次提交的變更。

當您進行處理時,Visual Studio 會在 [Git 變更] 視窗的 [變更] 區段中,追蹤專案的檔案變更。

Visual Studio 中的 [Git 變更] 視窗。

當您準備好要暫存變更時,請按下您要暫存的每個檔案上的 [+(加號)] 按鈕,或以滑鼠右鍵點擊檔案,然後選取 [暫存]。 您也可以使用 [變更] 區段頂端的 [階段所有 +(加號) 按鈕,以一鍵暫存所有修改過的檔案。

當您暫存變更時,Visual Studio 會建立 已暫存變更 區段。 只有「分段變更」區段中的變更會新增至下一次提交,您可以選取「提交分段」來執行此動作。 此動作的對應指令為 git commit -m "Your commit message"。 按兩下 [- (減號) 按鈕,也可以取消標記變更。 此動作的相對應指令是 git reset <file_path> 來取消暫存單一檔案,或 git reset <directory_path> 來取消暫存目錄內的所有檔案。

您也可以略過暫存區域,選擇不要暫存修改的檔案。 在此情況下,Visual Studio 可讓您直接提交變更,而不需要暫存變更。 只要輸入您的認可訊息,然後選取 [[全部認可]。 此動作的對等指令是「git commit -a」。

Visual Studio 也可讓您輕鬆地使用[全部認可並推送][全部認可並同步處理] 快捷方式,進行認可及同步處理。 當您雙擊 變更已暫存的變更 區段中的任何檔案時,您可以逐行檢視與該檔案未修改版本的比較。

Visual Studio 中檔案版本的逐行比較

提示

如果您連接到 Azure DevOps 儲存庫,您可以使用 “#” 字元將 Azure DevOps 工作專案與提交產生關聯。 您可以透過 Team Explorer>管理連線來連線 Azure DevOps 存放庫。

在 Visual Studio 2019 中選取現有的分支

Visual Studio 會在 Git 變更 視窗頂端的選取器中顯示最新分支。

您可以使用 Visual Studio 中 Git 變更選擇器頂端的選擇器來檢視的當前分支

最新分支也可以在Visual Studio IDE右下角的狀態欄中取得。

您可以使用 Visual Studio IDE 右下角的狀態列來檢視的目前分支

您可以從這兩個位置切換現有的分支。

在 Visual Studio 2019 中建立新的分支

您也可以建立新的分支。 相當於此動作的命令是 git checkout -b <branchname>

建立新分支就像輸入分支名稱一樣簡單,並以現有分支為基礎。

Visual Studio 中的 [建立新分支] 對話框

您可以選擇現有的本機或遠端分支作為基底。 [簽出分支] 複選框會自動將您切換至新建立的分支。 此動作的相等指令為 git checkout -b <new-branch><existing-branch>

Visual Studio 2019 中的 Git 存放庫視窗

Visual Studio 有新的 Git 存放庫 視窗,這是存放庫中所有詳細數據的統一檢視,包括所有分支、遠端和提交歷史記錄。 您可以直接從功能表列上的 Git檢視 或者從狀態列存取此視窗。

在 Visual Studio 2019 中管理分支

當您從 [Git] 功能選單中選取 [管理分支] 時,您會在 [Git 存放庫] 視窗中看到樹狀目錄檢視。 從左窗格,您可以使用右鍵選單來簽出分支、建立新的分支、合併、變基、挑選等等。 當您按下分支時,您可以在右窗格中看到其提交歷史的預覽。

Visual Studio 2019 中的傳入和傳出提交

當您擷取分支時,Git 變更 視窗在分支下拉式清單下方有一個指標,顯示來自遠端分支的未拉取提交數量。 此指標也會顯示未推送的本機提交數目。

顯示 Visual Studio 中指標下拉式 UI 元素的 [Git 變更] 視窗

指標同時作為一個連結,帶您前往 Git 存放庫 視窗中該分支的提交歷史記錄。 歷史記錄的頂端現在會顯示這些傳入和傳出提交的詳細資訊。 在這裡,您也可以決定拉取或推送提交。

顯示 Visual Studio 中分支的認可歷程記錄的 Git 存放庫視窗

Visual Studio 2019 中的提交詳細資料

當您雙擊 提交時,Visual Studio 會在個別的工具窗口中開啟其詳細資訊。 您可以從這裡還原認可、重設認可、修改認可訊息,或在認可上建立標記。 當您在 "Commit" 中點擊變更的檔案時,Visual Studio 會開啟 "Commit" 及其父系的並排 Diff 檢視。

Visual Studio 中的 [提交詳細資料] 對話框

處理 Visual Studio 2019 中的合併衝突

如果兩位開發人員修改檔案中的相同行,而且 Git 不會自動知道哪一個正確,則合併期間可能會發生衝突。 Git 會停止合併,並通知您處於衝突狀態。

Visual Studio 可讓您輕鬆地識別和解決合併衝突。 首先,Git 存放庫 視窗會顯示視窗頂端的金色資訊列。

Visual Studio 中的「合併完成時發生衝突」訊息

Git 變更 視窗也會顯示 『Merge 正在進行中,並出現衝突' 訊息,而未合併的檔案則位於其下方的個別區段中。

Visual Studio 中的「合併進行中的衝突」訊息

但是,如果您未開啟這兩個視窗,而是移至具有合併衝突的檔案,則不需要搜尋下列文字:

    <<<<<<< HEAD
    =======
    >>>>>>> main

相反地,Visual Studio 會在頁面頂端顯示黃金資訊列,指出開啟的檔案發生衝突。 然後,您可以點擊連結來開啟 合併編輯器

Visual Studio 中 [檔案包含合併衝突] 訊息的螢幕快照

Visual Studio 2019 中的合併編輯器

Visual Studio 中的合併編輯器是一種三向合併工具,可顯示傳入的變更、您目前的變更,以及合併的結果。 您可以在 合併編輯器 的最上層使用工具列,在檔案中的衝突和自動合併差異之間巡覽。

Visual Studio 中的合併編輯器

您也可以使用切換來顯示/隱藏差異、顯示/隱藏文字差異,以及自定義版面配置。 每個端的頂端都有複選框,可用來從一端或另一端取得所有變更。 但是若要進行個別變更,您可以點擊任一側衝突線左邊的複選框。 最後,當您完成解決衝突時,您可以在合併編輯器中選取 接受合併 按鈕。 然後,您撰寫提交訊息並提交變更以完成解決問題。

在 Visual Studio 2019 中個人化您的 Git 設定

若要在存放庫層級和全域層級個人化和自定義您的 Git 設定,請移至功能表欄上的 Git>[設定],或在功能表欄上>原始檔控制[工具]>[選項]。 然後,選擇您想要的 選項。

[選項] 對話框,您可以在 Visual Studio IDE 中選擇個人化和自訂設定。

如何在 Visual Studio 2019 中使用完整的 Team Explorer 體驗

新的 Git 使用者體驗在 Visual Studio 2019 中從 16.8 版 起成為預設的版本控制系統。 不過,如果您想要將其關閉,您可以。 移至 [工具]>>[環境]>[預覽功能],然後切換 [[新增 Git 使用者體驗] 複選框,以將您切換回適用於 Git 的 Team Explorer。

Visual Studio 中 [選項] 對話方塊的 [預覽功能] 區段

後續步驟

提示

若要瞭解如何在 Visual Studio 中使用 Git 和 GitHub,請註冊 Git 學習系列