在 Visual Studio 中,您可以設定和檢視常見的 Git 設定和喜好設定,例如您的名稱和電子郵件位址、您慣用的差異和合併工具等等。 您可以在 [Git 全域設定] 頁面的 [選項] 對話框中檢視和設定這些設定和喜好設定,或 Git 存放庫設定頁面(適用於目前的存放庫)。
您可以設定兩種類型的設定:
- Git 設定 - 本節中的設定會對應至 Git 組態檔中儲存的 Git 設定。 您可以在 Visual Studio 中檢視和修改這些設定,但是由 Git 組態檔管理。
- Visual Studio 設定 - 本節中的設定會設定由 Visual Studio 管理的 Git 相關設定和喜好設定。
如何設定設定
若要在 Visual Studio 中設定 Git 設定,請從最上層 Git 功能表選擇 [ 設定 ]。
選擇 [Git 全域設定 ] 或 [ Git 存放庫設定 ],以檢視及設定全域層級或存放庫層級設定。
您可以設定數個常見的 Git 設定,如本文下列各節所述。 設定所需的設定之後,選取 [ 確定 ] 以儲存更新的設定。
Git 設定
您也可以設定及檢查一些最常見的 Git 組態設定。 您可以在 Visual Studio 中檢視和修改下列設定,即使這些設定是由 Git 組態檔管理也一樣。
備註
Visual Studio 全域設定 中設定的 Git 設定會對應至 Git 使用者特定組態檔中的設定,而存放庫設定中的設定會對應至存放 庫 特定組態檔中的設定。 如需 Git 組態的詳細資訊,請參閱 自定義 Git 的 Pro Git 章節、 git-config 檔,以及 配置檔的 Pro Git 參考。 若要設定 Visual Studio 中未公開的 Git 設定,請使用 git config 命令將值寫入您的組態檔: git config [--local|--global|--system] section.key value。
名稱和電子郵件
您提供的名稱和電子郵件會被用作您每次提交的提交者資訊。 此設定可在全域和存放庫範圍使用,並對應至 git configuser.name 和 user.email 設定。
從 Git 功能表中,移至 [ 設定]。 若要在全域層級設定您的使用者名稱和電子郵件,請移至 Git 全域設定;若要在存放庫層級設定您的使用者名稱和電子郵件,請移至 Git 存放庫設定。
提供您的使用者名稱和電子郵件,然後選擇 [ 確定 ] 儲存。
在 [選項] 對話框中的 Git 全域設定窗格,內含使用者名稱和電子郵件的圖標。
在擷取期間剪除遠端分支
修剪會移除那些已經不存在於遠端的遠端追蹤分支,並幫助您保持分支清單清晰且更新。 此設定可在全域和存放庫範圍使用,並對應至 git configfetch.prune 設定。
我們建議在全域層級將此選項設定為 True 。 有效的設定如下:
- True (建議)
- 假
- 取消設定 (預設值)
以下是變更設定的方式:
從 Git 功能表中,移至 [ 設定]。 移至 [Git 全域設定 ] 以在全域層級設定此選項;移至 [Git 存放庫設定 ] 以在存放庫層級設定此選項。
將 擷取時修剪遠端分支 設定為 True(建議)。 選取 [ 確定 ] 以儲存。
拉取時重新排列本機分支
Rebasing 會先將目前分支中不在上游分支中的提交變更擱置,然後將當前分支重設為上游分支,再套用那些擱置的變更。 此設定可在全域和存放庫範圍中使用,並對應至 git configpull.rebase 設定。 有效的設定如下:
True:在擷取之後,將最新分支重新建置在上游分支之上。
False: 將當前分支合併至上游分支。
Unset (預設值):除非在其他組態檔中指定,否則請將最新分支合併至上游分支。
互動式:以互動模式重新建構基底。
合併:不壓平在本機建立的合併提交。
備註
在 Visual Studio 2022 17.2 版中,我們已將 [保留] 設定變更為 [合併],以符合 Git 的最新更新。 因此,如果您使用舊版 Visual Studio 搭配 Git 工具,您的使用者介面可能會說「保留」而非「合併」。 不過,功能會維持不變。
以下是變更設定的方式:
從 Git 功能表中,移至 [ 設定]。 移至 [Git 全域設定 ] 以在全域層級設定此選項;移至 [Git 存放庫設定 ] 以在存放庫層級設定此選項。
在提取至所需的設定時,設定 Rebase 本機分支 ,然後選取 [ 確定 ] 以儲存。
您無法在 Visual Studio 中設定 pull.rebase 為 Interactive 。 Visual Studio 沒有互動式重新基底支援。
若要設定 pull.rebase 為使用互動式模式,請使用命令行。
密碼編譯網路提供者
加密網路提供者是一個全域範圍的 Git 設定,用於配置在運行時使用的 TLS/SSL 後端,並對應至 git confighttp.sslBackend 設定。 這些值如下:
- OpenSSL:針對 TLS 和 SSL 通訊協定使用 OpenSSL 。
- 安全通道:針對 TLS 和 SSL 協議使用安全通道 (schannel)。 Schannel 是 Windows 的原生解決方案,能存取 Windows 認證存放區,從而允許在企業範圍內管理憑證。
- Unset (預設值):如果此設定未設定,則 OpenSSL 是預設值。
以下是變更設定的方式:
從 Git 功能表中,移至 [ 設定]。 移至 [Git 全域設定 ] 以設定此設定。
將 密碼編譯網路提供者 設定為所需的值,然後選取 [ 確定 ] 以儲存。
認證協助程式
當 Visual Studio 執行遠端 Git 作業時,遠端端端點可能會拒絕要求,因為要求需要提供認證。 此時,Git 會叫用認證協助程式,其會傳回執行作業所需的認證,然後再次嘗試要求。 所使用的認證協助程序會對應至 git configcredential.helper 設定。 這個函數在全域作用域中可使用以下值:
- 適用於 Windows 的 GCM:使用 適用於 Windows 的 Git 認證管理員 作為協助程式。
- GCM Core:使用 Git Credential Manager Core 作為協助程式。
- Unset (預設值):如果此設定未設定,則會使用系統組態中設定的認證協助程式。 從 Git for Windows 2.29 起,預設認證協助程式是 GCM Core。
以下是變更設定的方式:
從 Git 功能表中,移至 [ 設定]。 移至 [Git 全域設定 ] 以設定此設定。
將 認證協助程式 設定為所需的值,然後選取 [ 確定 ] 以儲存。
差異比較與合併工具
Git 會在您慣用的工具中顯示差異和合併衝突。 本節中的設定會對應至 git configdiff.tool 和 merge.tool 設定。 您可以選取 [使用 Visual Studio],將 Git 設定為使用 Visual Studio 作為 Git 全域設定和 Git 存放庫設定中的合併或差異工具。 若要設定其他差異和合併工具,請使用 git configdiff.tool 或 merge.tool 開關。
Git 檔案
您可以使用 Git 存放庫設定範圍中的 [Git 檔案] 區段來檢視和編輯存放庫的 gitignore 和 gitattributes 檔案。
遙控器
您可以使用 [Git 存放庫設定] 底下的 [遠端] 窗格來設定存放庫的遠端。 此設定會對應至 git remote 命令,並可讓您新增、編輯或移除遠端。
其他設定
若要檢視所有其他 Git 組態設定,您可以開啟和檢視組態檔本身,也可以執行 git config --list 以顯示設定。
Visual Studio 設定
下列設定會管理 Visual Studio 中的 Git 相關喜好設定,並由 Visual Studio 管理,而不是 Git 組態檔。 本節中的所有設定都會在 [Git 全域設定 ] 頁面中設定。
預設位置
預設位置 會設定複製存放庫的預設資料夾。
默認分支名稱
[ 預設分支名稱 ] 設定會針對您在本機建立的新存放庫設定預設分支。 如果您將它保留空白,則會使用本機安裝的 Git 的預設值。
此設定適用於Visual Studio17.14和更新版本。
在打開存放庫時,關閉那些不是在 Git 管理下的開啟方案。
根據預設,當您切換到另一個存放庫時,Visual Studio 會關閉任何開啟的解決方案或資料夾。 如果您選擇在開啟 Git 存放庫時 在方案總管中開啟資料夾 並且 自動載入方案,那麼在這樣做時,它也可能會根據這些設定載入新存放庫的方案或資料夾。 此設定會維護開啟程式代碼與開啟存放庫之間的一致性。 不過,如果您的解決方案不在與存放庫相同的資料夾根目錄中,您可能會想要在切換至其存放庫時讓方案保持開啟。 您可以使用此設定來執行此動作。 這些值如下:
是:開啟存放庫時,目前開啟的解決方案一律會關閉
否:開啟存放庫時,Visual Studio 會執行檢查目前解決方案是否在 Git 底下。 如果不是,則解決方案會保持開啟狀態。
一律詢問 (預設值):設定此選項時,您可以透過每個存放庫的開啟對話框進行選擇,是要保持目前方案開啟還是將其關閉。
自動啟用多個存放庫
此設定可讓您控制 Visual Studio 是否一次將資源花在啟用多個存放庫上,或是否一次只啟用單一存放庫來優化工作流程。 如果您主要使用單一存放庫,您可以關閉此設定來改善 Visual Studio 的效能。 如果您變更設定,則變更不會在下次載入解決方案之前生效。
- 是 (預設值):Visual Studio 會啟動多個存放庫。
- 否:Visual Studio 只會啟動一個存放庫。
請參閱 使用多個存放庫。
啟用從第三方來源下載作者映像
在Visual Studio中,啟用從第三方來源下載作者影像是一個全域範圍的特定設定。 勾選選項時,會從 Gravatar 影像服務下載作者影像(如果有),並顯示在提交和歷程記錄檢視中。
這很重要
為了在提交和歷史紀錄視圖中提供作者影像,此工具會為儲存在當前儲存庫中的作者電子郵件地址建立 MD5 哈希。 然後,此哈希會傳送至 Gravatar,以尋找先前已註冊服務的使用者相符的哈希值。 如果找到相符項目,則會從服務取得使用者影像,並顯示在 Visual Studio 中。 未設定服務的用戶會傳回隨機產生的影像。 請注意,Visual Studio 不會記錄電子郵件位址,也不會與 Gravatar 或任何其他第三方共用。
依預設提交合併後的變更
當預設合併後自動提交變更啟用時,Git 會在分支與當前分支合併時自動建立新提交。
此螢幕快照顯示 [選項] 對話框中預設在合併後認可變更的複選框。
- 當核取時,Visual Studio 發出的
git merge命令會使用--commit選項執行。 - 取消核取時,
git merge會使用--no-commit --no-ff選項執行 Visual Studio 發出的命令。
如需這些選項的詳細資訊,請參閱 --commit 和 --no-commit 和 --no-ff。
啟用推送(push --force-with-lease)功能
啟用此設定後,您可以在 Visual Studio 中進行 push --force-with-lease 。 默認會停用 [啟用推送 --force-with-lease ]。
如需詳細資訊,請參閱 push --force-with-lease。
開啟 Git 存放庫時,在 [方案總管] 中開啟資料夾
當您使用 Visual Studio 開啟或切換至 Git 存放庫時,Visual Studio 會載入 Git 內容,以便從 IDE 中檢視變更、認可、分支及管理您的存放庫。 此外,Visual Studio 也會在 [方案總管] 中載入存放庫的程序代碼。 Visual Studio 會掃描存放庫資料夾,尋找方案、CMakeLists.txt或任何其他 Visual Studio 辨識的檢視檔案,並將它們顯示為「方案總管」中的清單。 您可以從該處選取要載入的解決方案,或選取資料夾來檢視目錄內容。 當您關閉此複選框時,Visual Studio 不會在 [方案總管] 中開啟存放庫資料夾。 此選項基本上可讓您以 Git 存放庫管理員的身分開啟 Visual Studio。 設定預設為開啟。
開啟 Git 存放庫時自動載入解決方案
只有在開啟 Git 存放庫設定時,[方案總管 ] 中的 [開啟資料夾 ] 設定才適用此設定。 當您在 Visual Studio 中開啟 Git 存放庫,而後續的資料夾掃描偵測到存放庫中只有一個解決方案,則 Visual Studio 會自動載入該解決方案。 如果您關閉設定,[方案總管] 會在檢視清單中顯示存放庫中的單一方案。 但它不會載入解決方案。 此設定預設為 [關閉]。
按兩下或按 Enter 鍵可自動切換至分支
Git 存放庫視窗有樹狀結構中顯示的分支清單。 選擇單一分支會切換提交歷程記錄面板,以顯示所選分支的提交。 若要簽出分支,您可以按一下滑鼠右鍵以開啟快速功能表,然後選取簽出。 如果您開啟此設定,那麼雙擊或按 Enter 鍵即可將分支檢出,並顯示其提交記錄。
重新啟動時還原 Git 存放庫視窗
如果核取,當您啟動 Visual Studio IDE 時, Git 存放庫 視窗將會與其他永久視窗一起開啟,如果上次關閉 Visual Studio 時開啟視窗。 視窗的位置會儲存在視窗佈局中,因此,如果您移動或固定視窗,將再次開啟時會出現在原先的位置。 清除複選框,以防止 Visual Studio 啟動時開啟視窗。 您仍然可以使用 [檢視]、[Git 存放庫] 功能表命令、按 Ctrl+、Ctrl+ 或按 Ctrl+Q 並搜尋 Git 存放庫,手動開啟視窗。
如果您定期使用此視窗,當您啟動 IDE 時,自動開啟它可能會很方便。 不過,在啟動時開啟和填入視窗可能會使用許多運算資源,因此,如果您未主動使用它,則停用此行為會更有效率。
此設定適用於Visual Studio17.14和更新版本。 如需詳細資訊,請參閱 流覽存放庫。
相關內容
這很重要
如果您有建議給我們,請告訴我們! 我們很感激有機會透過 開發人員社群 入口網站與您進行設計決策。
- 在 YouTube 上觀看「Visual Studio 中的 Git 入門」影片
- 在 Visual Studio 中使用 Git 增強生產力 部落格文章
- 選項對話框