Visual Studio 中的 Git 喜好設定和設定
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
Visual Studio 2019 |Visual Studio 2022
在 Visual Studio 中,您可以檢視及設定數個 Git 相關設定和喜好設定。 例如,您可以設定認可元數據的名稱和電子郵件位址、指定您慣用的差異和合併工具,以及設定存放庫複製的預設資料夾路徑。
Visual Studio 中的 Git 設定和喜好設定分為兩個主要類別:
適用於目前使用者的所有 Git 存放庫的 Git Global 設定。
適用於使用中 Git 存放庫的 Git 存放庫 設定。
在這些類別中,設定可以是:
您可以在 Visual Studio、命令行或編輯 Git 組態檔,來檢視和修改 Git 組態檔的 Git 組態檔設定。 Git 組態檔設定的範例包括使用者名稱、電子郵件地址和遠端別名。 Git 會將設定儲存在系統、全域和本機 Git 組態檔中:
系統 Git 組態檔設定會套用至您電腦上的所有使用者和存放庫。
全域 Git 組態檔設定會套用至目前使用者的所有存放庫。 全域設定優先於系統設定。
本機 Git 組態檔設定會套用至包含本機 Git 配置檔的本機存放庫。 系統設定優先於全域設定。
Visual Studio Git 相關設定,這是與 Git 相關的 Visual Studio 設定,但不會儲存在任何 Git 組態檔中。 您只能在 Visual Studio 中檢視和修改這些設定。 其中一個設定範例是 Visual Studio 複製存放庫的預設資料夾路徑。
在本文中,您將了解如何:
- 探索 Git 設定
- 修改 Git 組態檔設定
- 修改 Visual Studio Git 相關設定
探索 Git 設定
Visual Studio 2022 使用 Git 功能表、Git 變更,以及透過 方案總管 中的操作功能表,提供 Git 版本控制體驗。 Visual Studio 2019 16.8 版也提供 Team Explorer Git 使用者介面。 如需詳細資訊,請參閱 Visual Studio 2019 - Team Explorer 索引標籤。
修改 Git 組態檔設定
您可以在 Visual Studio 中檢視和編輯 Git 組態設定,或直接編輯適用的 Git 組態檔。 如需 Git 組態檔設定的詳細資訊,請參閱 自定義 Git 和 git-config 檔。 在下列各節中,我們將討論如何編輯每個列出的 Git 組態檔設定:
名稱和電子郵件
當您 認可 變更時,Git 會將您的名稱和電子郵件位址新增至認可元數據。 您可以編輯 Git 將使用的名稱和電子郵件位址。
全域或存放庫範圍提供名稱和電子郵件設置。
從 [Git] 功能表中,選擇 [Git > 設定],然後選取 [Git 全域 設定 檢視]。 該檢視包含目前使用者的名稱和電子郵件設定。
或者,選擇 [Git 存放庫] 設定 > [一般] 來編輯目前 Visual Studio 專案存放庫的名稱和電子郵件設置。
在擷取期間剪除遠端分支
您可以告訴 Git 在每個擷取期間剪除遠端分支,以移除本機存放庫中過時的遠端追蹤分支,這些分支已不存在於對應的遠端存放庫上。
從 [Git] 功能表中,選擇 [Git > 設定],然後選取 [Git 全域 設定 檢視]。 該檢視包含 目前使用者的擷取 選項期間修剪遠端分支。
或者,選擇 [Git 存放庫] 設定 > [一般],在目前 Visual Studio 專案存放庫的擷取設定期間編輯剪除遠端分支。
有效值為:
True
(建議)False
Unset
(預設值)
在提取時將本機分支重訂基底
當您提取 以在遠端分支歷程記錄上方重新執行本機分支中的變更時,您可以選擇重新建置 本機分支。
提取 設定時 ,Rebase 本機分支會對應至 git config pull.rebase
命令。 您可以在全域或存放庫範圍指定此設定。
從 [Git] 功能表中,選擇 [Git > 設定],然後選取 [Git 全域 設定 檢視]。 該檢視包含 目前使用者提取 選項時的 Rebase 本機分支。
或者,選擇 [Git 存放庫] 設定 > [一般] 以在提取目前 Visual Studio 專案存放庫的選項時編輯 Rebase 本機分支。
有效值為:
True
:在擷取之後,將最新分支重新建置在遠端分支之上。False
:將遠端分支合併至最新分支。Merges
:在本機建立合併認可時,不需要壓平合併。Unset
(預設值):除非在 Git 組態檔中另有指定,否則請將遠端分支合併至最新分支。
密碼編譯網路提供者
您可以將密碼編譯網路提供者指定為 Git 將在執行時間使用的 TLS/SSL 後端。
密碼 編譯網路提供者 設定會對應至 git config http.sslBackend
命令。 此設定僅適用於全域範圍。
從 [Git] 功能表中,選擇 [Git > 設定],然後選取 [Git 全域 設定 檢視]。 該檢視包含 目前用戶的密碼編譯網路提供者 選項。
有效值為:
認證協助程式
當 Visual Studio 執行遠端 Git 作業時,遠端端端點可能會拒絕要求,因為它需要要求的認證。 發生這種情況時,Git 會叫用認證協助程式以取得必要的認證,然後重試要求。 您可以指定 Git 將使用的認證協助程式。
認證 協助程式 設定會對應至 git config credential.helper
命令。 此設定僅適用於全域範圍。
有效值為:
GCM for Windows
:使用 適用於 Windows 的 Git 認證管理員作為協助程式。GCM Core
:使用 Git Credential Manager Core 作為協助程式。Unset
(預設值):如果此設定未設定,則會使用系統組態中設定的認證協助程式。 從 Git for Windows 2.29 起,預設認證協助程式是GCM Core
。
差異和合併工具
您可以指定 Git 將用來顯示差異或合併衝突的工具。
差異和合併工具設定會對應至 git config diff.tool
和 git config merge.tool
命令。 您可以將 Visual Studio 設定為合併或差異工具,或從 Git 命令行設定其他差異和合併工具。 您可以在全域或存放庫範圍指定差異和合併工具設定。
從 [Git] 功能表中,選擇 [Git > 設定],然後選取 [Git 全域 設定 檢視]。 該檢視包含差異和合併工具設定。
將差異和合併工具設定設為所需的值,然後選取 [ 確定 ] 以儲存。
或者,選擇 [Git 存放庫] 設定 > [一般] 來編輯目前 Visual Studio 專案存放庫的差異和合併工具設定。
有效的差異與合併工具如下:
Visual Studio
None
(預設值)
若要設定其他差異和合併工具設定,請使用 Git 命令行。
遠端
您可以使用 Git 存放庫底下的 [遠端] 窗格 設定 來新增、編輯或移除存放庫的遠端。 此設定會對應至 git remote add
命令。 [ 遠端] 窗格僅適用於存放庫範圍。
當您複製遠端存放庫時,Git 會將別名 origin
指派為您複製之遠端存放庫的 URL 縮寫。 為了方便起見,您可以為分支的來源存放庫新增名為 upstream
的另一個別名,這稱為上游存放庫。 下列步驟說明如何新增 upstream
別名。
若要在 Visual Studio 中新增 upstream
別名,請遵循下列步驟:
從功能表列選擇 [工具 > 選項 ],以開啟 [ 選項 ] 視窗。 選取 [原始檔控制 Git 存放>庫] 設定 > [遠端],然後選擇 [新增] 以開啟 [新增遠端] 對話方塊。
在 [ 新增遠端 ] 對話框中,新增名為
upstream
的新遠端,並輸入您分岔之存放庫的 Git 複製 URL 。 然後選擇 [ 儲存]。
「其他設定」
若要檢視所有其他 Git 組態設定,您可以開啟並檢視 Git 組態檔本身,也可以執行 git config --list
以顯示設定。
修改 Visual Studio Git 相關設定
下列設定會管理 Visual Studio 中的 Git 相關喜好設定。 您只能在 Visual Studio 中檢視和編輯這些設定。
- 預設存放庫位置
- 開啟存放庫時,關閉不在 Git 下的已開啟解決方案
- 啟用從第三方來源下載作者影像的功能
- 依預設在合併後提交變更
- 啟用 push --force-with-lease
- 開啟 GIT 存放庫時,在方案總管中開啟資料夾
- 在開啟 Git 存放庫時自動載入解決方案
- 自動使用按兩下或 Enter 鍵來簽出分支
- 編輯 Git 忽略和屬性檔案
如需如何存取 Visual Studio Git 相關設定的詳細資訊,請參閱 探索 Git 設定。 接下來,我們將討論如何編輯這些 Visual Studio Git 相關設定。
預設存放庫位置
您可以設定 Visual Studio 將複製存放庫的預設存放庫資料夾。
預設存放 庫位置 設定僅適用於全域範圍。
開啟存放庫時,關閉不在 Git 下的已開啟解決方案
根據預設,當您切換至不同的存放庫時,Visual Studio 會關閉 Git 存放庫中任何開啟的解決方案或資料夾。 開啟存放庫設定時,關閉不在 Git 下的開啟解決方案,讓開啟的解決方案或資料夾與選取的存放庫保持一致。 不過,如果您的方案或資料夾不在存放庫內,您可能會想要在切換存放庫時讓方案保持開啟。 您可以使用此設定來執行此動作。
提示
如果您將此設定與 開啟 Git 存放庫時自動載入解決方案配對,則 Visual Studio 會開啟您要切換之 Git 存放庫的解決方案。
開啟存放庫設定時,不在 Git 底下的關閉開啟解決方案僅適用於全域範圍。
有效值為:
Yes
:當您切換存放庫時,Visual Studio 會關閉任何開啟的解決方案。No
:當您切換存放庫且目前的方案或資料夾不在 Git 底下時,Visual Studio 會將方案或資料夾保持開啟。Always ask
(預設值):當您切換存放庫,而目前的方案或資料夾不在 Git 下時,Visual Studio 會詢問您是否要讓目前的方案保持開啟。
啟用從第三方來源下載作者影像的功能
啟用時,Visual Studio 會從 Gravatar 影像服務下載作者影像, 以顯示在認可和歷程記錄檢視中。 如果您尚未設定 Gravatar 影像,Gravatar 影像服務會為您傳回隨機產生的影像。
重要
為了在認可和歷程記錄檢視中提供作者影像,Visual Studio 會使用儲存在使用中存放庫中的作者電子郵件位址建立 MD5 哈希,並將該哈希傳送至 Gravatar。 如果 Gravatar 找到具有相符哈希的使用者,Visual Studio 會擷取並顯示使用者的影像。 Microsoft 不會與 Gravatar 或任何其他第三方記錄或共用電子郵件位址。
[ 啟用從第三方來源 下載作者映射] 設定僅適用於全域範圍。
依預設在合併後認可變更
根據 預設 啟用合併之後的認可變更,Git 會自動在分支合併上建立新的認可。
- 核取時,Visual Studio 發出的所有
git merge
命令都會使用--commit
選項執行。 - 取消核取時,Visual Studio 發出的所有
git merge
命令都會使用--no-commit --no-ff
選項執行。
如需這些合併選項的詳細資訊,請參閱 --commit 和 --no-commit 和 --no-ff。
根據預設,合併后的認可變更設定僅適用於全域範圍。
啟用推送 --強制租用
啟用此設定后,您可以推送覆寫遠端分支中工作的變更,如果沒有其他人自上次提取后已推送至遠端分支。
[ 啟用推送 - force-with-lease ] 選項會對應至 push --force-with-lease
命令。 此設定僅適用於全域範圍。 根據預設, 會停用 [啟用推送 - 強制與租用 ]。
開啟 Git 存放庫時,在方案總管中開啟資料夾
啟用並在 Visual Studio 中開啟 Git 存放庫時,Visual Studio 會掃描存放庫資料夾中是否有解決方案、CMakeLists.txt或其他檢視檔案,並將其顯示為 方案總管 中的清單。 然後,您可以載入方案或檢視資料夾的內容。 此設定預設為啟用狀態。
停用並在 Visual Studio 中開啟 Git 存放庫時,Visual Studio 不會在 方案總管 中開啟存放庫資料夾,而且只是 Git 存放庫管理員。
在開啟 Git 存放庫時自動載入解決方案
開啟 Git 存放庫設定時自動載入解決方案僅適用於開啟 Git 存放庫設定時 方案總管 中的 [開啟] 資料夾也已啟用。 當您在 Visual Studio 中開啟 Git 存放庫時,後續的資料夾掃描會偵測存放庫中只有一個解決方案存在,然後 Visual Studio 會自動載入該解決方案。 如果您關閉此設定,則 方案總管 會在檢視清單中顯示存放庫中的單一解決方案,但不會載入解決方案。 預設會停用此設定
自動使用按兩下或 Enter 鍵來簽出分支
[Git 存放庫] 視窗有以樹狀結構顯示的分支清單。 選取分支以切換認可歷程記錄窗格,以顯示該分支的認可。 若要簽出分支,請以滑鼠右鍵按兩下以開啟操作功能表,然後選擇 [ 簽出]。 透過按兩下或啟用 Enter 鍵設定的自動取出分支,您可以按兩下或選取 Enter 鍵來簽出分支並顯示其認可。
編輯 Git 忽略和屬性檔案
Visual Studio 可讓您快速新增或編輯 存放庫根目錄的 gitignore 和 gitattributes 檔案。
新增或編輯 gitignore
或 gitattributes
檔案的選項僅適用於存放庫範圍。
如需如何設定 .gitignore
和 .gitattributes
檔案的詳細資訊,請參閱 gitignore 和 gitattributes。