流覽 Git 存放庫並比較 Visual Studio 中的分支

適用于:yesnoVisual Studio Visual Studio for Mac no Visual Studio Code

[ Git 變更] 視窗可讓您順暢地在撰寫程式碼時與 Git 互動,而不需要切換您的程式碼。 但有時候,將焦點放在 Git 存放庫更合理。 例如,您可能需要瞭解小組正在處理的工作,或 比較兩個認可 來調查 Bug。

您可以從遠端與您選擇的 Git 提供者合作,例如GitHub或Azure DevOps。

流覽本機和遠端分支

若要開始使用,請選取 [視] 功能表上的[Git 存放庫],以開啟[Git 存放庫] 視窗。 您也可以在 [Git 變更] 視窗和狀態列上選取傳出/傳入連結,以存取Git 存放庫視窗。

Screenshot that shows the anatomy of the Git Repository window.

Git 存放庫視窗包含三個主要區段,如上述螢幕擷取畫面所示:

  1. 分支:Git 可讓使用者透過分支進行多工並實驗其程式碼。 如果您要同時處理多個功能,或想要探索想法而不會影響您的工作程式碼,分支可能會很有説明。

  2. Graph:本節會將分支的狀態視覺化。 它有三個子區段:

    • 傳入 會顯示小組參與的內送認可。
    • 傳出 會顯示您尚未推送的本機認可。
    • 本機歷程記錄 會顯示本機存放庫所追蹤的其餘認可。
  3. 認可:在[Graph] 區段中選取任何認可會開啟其詳細資料。 您可以選取認可所引進的變更,以顯示差異。 例如,上一個螢幕擷取畫面顯示一個認可導入 Files.csproj 檔案的變更。

Alt+向上鍵或 Alt+向下鍵鍵盤快速鍵可讓您在這些區段之間跳躍。

您可以流覽任何本機或遠端分支,而不需要切換分支。 當您找到想要專注的認可時,請選取 [在新索引標籤 中開啟 ] 按鈕,以在不同的索引標籤上開啟認可。

Screenshot of how to open a commit on a new tab.

Screenshot of the tab for commit details.

提示

若要在全螢幕中顯示認可,請使用 [最大化] 按鈕中斷連結您的 [認可] 索引標籤,並將 [認可] 視窗最大化。 您也可以選取 Diff 組 態, (齒輪圖示) 來選取您最愛的差異組態。

Screenshot of full-screen commit details with diff configurations.

比較認可

若要比較分支中的任何兩個認可,請使用 Ctrl 鍵來選取您要比較的兩個認可。 然後以滑鼠右鍵按一下其中一個,然後選取 [比較認可]。

Screenshot of how to compare two commits.

Screenshot of compared commits.

提示

類似于 認可詳細資料,您可以使用 [ 在新索引標籤中開啟 ] 按鈕,在不同的索引標籤上開啟比較,或在畫面上最大化。

從認可建立分支

在Visual Studio中,您可以使用[Git 存放庫] 視窗中的[Git Graph] 窗格,從先前的認可建立分支。 若要這樣做,請以滑鼠右鍵按一下您想要建立新分支的認可,然後選取 [ 新增分支]。

Screenshot of the Git Graph pane of the Git Repository window.

注意

此動作的對等命令為 git branch <branchname> [<commit-id>]

比較分支

比較分支提供兩個分支之間的差異概觀,在建立提取要求、合併或甚至刪除分支之前,這非常有用。

Compare branches illustration

若要使用Visual Studio來比較您目前取出的分支與其他分支,您可以使用狀態列和 Git 變更工具視窗中裝載的分支選擇器,選擇任何要比較的本機或遠端分支。 以滑鼠右鍵按一下您要設定目標的分支,然後選取 [ 與最新分支比較]。 或者,您可以使用 Git 存放庫視窗上的分支清單來存取相同的命令。

Compare branches entrypoints

選取 [與最新分支比較 ] 會開啟比較分支體驗,您可以在其中流覽 [變更 ] 清單,然後選取您想要比較的檔案。

Compare branches diff view

提示

如果您想要使用內嵌差異,您可以使用差異組態選項齒輪並切換至內嵌差異檢視。 Diff configuration options

簽出認可

簽出認可哥透過多種方式有所説明。 例如,它可讓您回到存放庫歷程記錄中的前一點,您可以在其中執行或測試程式碼。 如果您想要從遠端分支檢閱程式碼, (同事的分支,例如) ,也很有説明。 如此一來,如果您不打算參與本機分支,就不需要建立本機分支。 在此情況下,您可以只簽出您想要檢閱之遠端分支的提示。

Checkout commit illustration

若要在 Visual Studio簽出先前的認可,請開啟[Git 存放庫] 視窗,以滑鼠右鍵按一下您想要返回的認可,然後選取[簽出 (– 卸離) 。 Visual Studio顯示確認對話方塊,說明藉由簽出認可,您將處於中斷連結的 HEAD 狀態。 這表示存放庫的 HEAD 會直接指向認可,而不是分支。

Checkout commit entry points

現在您已處於中斷連結的前端狀態,您可以隨意執行並測試程式碼,甚至探索並認可變更。 當您完成探索並想要返回分支時,您可以選擇取出現有的分支來捨棄變更,或先 建立新的分支 來選擇保留變更。

重要

在中斷連結的前端狀態中建立的認可不會與任何分支相關聯,而且在您簽出分支之後,Git 可能會進行垃圾收集。 這就是為什麼要保留變更的原因,建議您先建立新的分支,再簽出分支。 例如,如果我們取出 Main 而不建立新的分支,則認可 C5 和 C6 將會進行垃圾收集。 Detached head commits illustration 若要深入瞭解已中斷連結的前端狀態檢視,請參閱下列 Git 檔: 卸離前端

如果您想要快速檢閱提取要求並評估最新的更新,請查看遠端分支的提示會很有説明。 若要在 Visual Studio 中這麼做,請先確定從遠端存放庫擷取並取得最新的更新。 然後以滑鼠右鍵按一下您想要檢閱的遠端分支,然後選取 [簽出提示認可]。 Checkout tip commit

後續步驟

若要繼續您的旅程,請參閱在 Visual Studio 中管理 Git 存放庫

另請參閱