在 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 config
user.name 和 user.email 设置。
从 Git 菜单中,转到“设置”。 若要在全局级别设置用户名和密码,请转到 Git 全局设置;若要在存储库级别设置用户名和电子邮件,请转到 Git 存储库设置。
提供用户名和电子邮件,然后选择 “确定 ”进行保存。
在提取期间修剪远程分支
清理会删除不再存在于远程的远程跟踪分支,以帮助你保持分支列表的整洁和更新。 此设置在全局范围和存储库范围内都可用,对应于 git config
fetch.prune 设置。
建议在全局级别将此选项设置为 True 。 有效的设置如下:
- True (建议)
- 错误
- 取消设置 (默认值)
下面介绍如何更改设置:
从 Git 菜单中,转到“设置”。 转到 Git 全局设置 ,在全局级别配置此选项;转到 Git 存储库设置 ,在存储库级别配置此选项。
在 提取期间将 Prune 远程分支 设置为 True (建议)。 选择“ 确定 ”保存。
拉取时重新设置本地分支的基
变基(Rebasing)会搁置当前分支中不在上游分支中的提交所做的更改,将当前分支重置为上游分支,然后应用之前搁置的更改。 此设置在全局范围和存储库范围内均可用,对应于 git config
pull.rebase 设置。 有效的设置如下:
True:提取后,在上游分支上重新设置当前分支的基数。
False:将当前分支合并到上游分支。
未设置(默认值):除非在其他配置文件中指定,否则将当前分支合并到上游分支。
交互:在交互模式下重新设置基。
合并:在未平展本地创建的合并提交的情况下重新建立数据库。
注释
在 Visual Studio 2022 版本 17.2 中,我们已将“保留”设置更改为“合并”,以匹配 Git 的最新更新。 因此,如果使用早期版本的 Visual Studio 和 Git 工具,用户界面可能会说“保留”而不是“合并”。 但是,该功能保持不变。
下面介绍如何更改设置:
从 Git 菜单中,转到“设置”。 转到 Git 全局设置 ,在全局级别配置此选项;转到 Git 存储库设置 ,在存储库级别配置此选项。
在拉取时,将本地分支变基设置为所需设置,然后选择确定以保存。
无法在 Visual Studio 中配置为pull.rebase
交互式。 Visual Studio 没有交互式存储库支持。
若要配置为 pull.rebase
使用交互式模式,请使用命令行。
加密网络服务商
加密网络提供程序是全局范围内的 Git 配置设置,用于配置运行时要使用的 TLS/SSL 后端,并对应于 git config
http.sslBackend 设置。 这些值如下所示:
- OpenSSL:将 OpenSSL 用于 TLS 和 SSL 协议。
- 安全通道:将 安全通道(schannel) 用于 TLS 和 SSL 协议。 Schannel 是原生 Windows 解决方案,可以访问 Windows 凭据存储,从而实现企业范围的证书统一管理。
- 取消设置 (默认值):如果此设置未设置,则 OpenSSL 是默认值。
下面介绍如何更改设置:
从 Git 菜单中,转到“设置”。 转到 Git 全局设置 以配置此设置。
将 加密网络提供程序 设置为所需的值,然后选择“ 确定 ”进行保存。
凭据帮助程序
当 Visual Studio 执行远程 Git操作时,远程端点可能会拒绝请求,因为请求需要提供凭据。 此时,Git 调用凭据帮助程序,该帮助程序返回执行作所需的凭据,然后再次尝试请求。 使用的凭据帮助程序对应于 git config
credential.helper 设置。 它在全局范围内提供以下值:
- 适用于 Windows 的 GCM:将 适用于 Windows 的 Git 凭据管理器 用作帮助程序。
- GCM Core:使用 Git Credential Manager Core 作为帮助程序。
- 未设置 (默认):如果此设置未配置,将使用系统配置中设置的凭据助手。 从 Git for Windows 2.29 起,默认凭据帮助程序为 GCM Core。
下面介绍如何更改设置:
从 Git 菜单中,转到“设置”。 转到 Git 全局设置 以配置此设置。
将 凭据帮助程序 设置为所需的值,然后选择“ 确定 ”以保存。
比较和合并工具
Git 在您喜欢的工具中展示差异和合并冲突。 本节中的设置对应于 git config
diff.tool 和 merge.tool 设置。 可以通过选择“使用 Visual Studio”,将 Git 配置为在 Git 全局设置和 Git 存储库设置中将 Visual Studio 用作合并或差异工具。 若要配置其他差异和合并工具,请使用 git config
diff.tool 或 merge.tool 选项。
Git 文件
可以使用 Git 存储库设置范围中的 Git 文件部分查看和编辑存储库的 gitignore 和 gitattributes 文件。
遥控器
可以使用 Git 存储库设置下的“远程”窗格为存储库配置远程服务器。 此设置对应于 git 远程 命令,并允许添加、编辑或删除远程组件。
其他设置
若要查看所有其他 Git 配置设置,可以打开并查看配置文件本身,也可以运行 git config --list
以显示设置。
Visual Studio 设置
以下设置管理 Visual Studio 中的 Git 相关首选项,并由 Visual Studio 而不是 Git 配置文件管理。 本部分中的所有设置均在 “Git 全局设置” 页中配置。
默认位置
默认位置 配置克隆存储库的默认文件夹。
默认分支名称
本地创建新存储库时,默认分支名称设置用于配置默认分支。 如果将其留空,则使用本地安装的 Git 的默认值。
此设置在 Visual Studio 17.14 及更高版本中可用。
在打开存储库时,关闭那些未受 Git 控制的已打开的解决方案。
默认情况下,当切换到其他存储库时,Visual Studio 会关闭任何打开的解决方案或文件夹。 这样做时,如果打开 Git 存储库时选择在解决方案资源管理器中打开文件夹 ,并在 打开 Git 存储库时自动加载解决方案,则它还可能会加载新存储库的解决方案或文件夹。 此设置维护打开代码和打开存储库之间的一致性。 但是,如果解决方案与存储库不在同一文件夹根目录中,则切换到其存储库时,可能需要使解决方案保持打开状态。 可以通过这个设置来实现这一点。 这些值如下所示:
是:打开存储库时,当前打开的解决方案始终处于关闭状态
否:打开存储库后,Visual Studio 会检查当前解决方案是否位于 Git 下。 如果不是,解决方案仍旧未解决。
始终询问 (默认值):设置此设置后,可以通过每个存储库打开的对话框做出选择,无论是要保持当前解决方案处于打开状态还是将其关闭。
自动激活多个存储库
通过此设置,可以控制 Visual Studio 是否一次性花费资源来激活多个存储库,还是一次仅激活单个存储库来优化工作流。 如果主要使用单个存储库,可以关闭此设置以提高 Visual Studio 的性能。 如果更改设置,则在下次加载解决方案之前,更改才会生效。
- 是 (默认值):Visual Studio 激活多个存储库。
- 否:Visual Studio 仅激活一个存储库。
请参阅 “处理多个存储库”。
启用从第三方来源下载作者图片
启用从第三方来源下载作者图像是在全局范围内特定于 Visual Studio 的设置。 选中后,将从 Gravatar 图像服务下载作者图像(如果可用),并在提交和历史记录视图中显示。
重要
为了在提交和历史记录视图中提供作者图像,该工具将为活动存储库中存储的作者电子邮件地址创建 MD5 哈希。 然后,此哈希将发送到 Gravatar,以便为以前注册服务的用户查找匹配的哈希值。 如果找到匹配项,将从服务中检索用户图像并在 Visual Studio 中显示。 未配置服务的用户返回随机生成的映像。 请注意,Visual Studio 不会记录电子邮件地址,也不会与 Gravatar 或任何其他第三方共享电子邮件地址。
默认情况下,在合并后提交更改
默认情况下,启用“合并后提交更改”时,Git 会在分支与当前分支合并时自动创建新的提交。
- 选中时,
git merge
Visual Studio 发出的命令将与--commit
选项一起运行。 - 在未选中时,由 Visual Studio 发出的
git merge
命令将使用--no-commit --no-ff
选项运行。
有关这些选项的详细信息,请参阅 --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 存储库管理器打开。 默认情况下,设置处于打开状态。
打开 Git 存储库时自动加载解决方案
仅当打开 Git 存储库时在解决方案资源管理器中打开文件夹设置处于开启状态时,此设置才适用。 在 Visual Studio 中打开 Git 存储库时,后续文件夹扫描检测到存储库中只有一个解决方案,然后 Visual Studio 会自动加载该解决方案。 如果关闭该设置,解决方案资源管理器会在视图列表中显示存储库中的单个解决方案。 但它不会加载解决方案。 默认情况下,此设置为“关”。
使用双击或 Enter 键自动签出分支
“Git 存储库”窗口包含树结构中显示的分支列表。 单选分支将切换提交历史记录窗格,以显示所选分支的提交。 若要签出分支,可以右键单击以打开菜单并选择 “签出”。 如果启用此设置,请双击或按 Enter 键以签出该分支并显示其提交记录。
重启时还原 Git 存储库窗口
如果选中,启动 Visual Studio IDE 时, Git 存储库 窗口将与其他永久窗口一起打开,前提是上次关闭 Visual Studio 时打开了该窗口。 窗口的位置保存在窗口布局中,因此,如果您移动或停靠了窗口,它将会在之前的位置打开。 清除该复选框以防止 Visual Studio 启动时打开窗口。 你仍然可以使用 “视图”、“ Git 存储库 ”菜单命令、按 Ctrl+0、 Ctrl+R 或 按 Ctrl+Q 并在 Git 存储库上搜索来手动打开窗口。
如果定期使用此窗口,则启动 IDE 时自动打开它可能非常方便。 但是,在启动时打开和填充窗口可能会使用大量计算资源,因此,如果不主动使用它,则禁用此行为会更有效。
此设置在 Visual Studio 17.14 及更高版本中可用。 有关详细信息,请参阅 “浏览存储库”。
相关内容
重要
如果你有建议,请告诉我们! 我们赞赏通过 开发人员社区 门户与你就设计决策进行互动的机会。