在 Visual Studio 中为 Microsoft Git Provider 设置代理

问题描述 投票:0回答:4

我必须使用http代理连接到Git服务器。我可以通过 Git Bash 设置它并通过以下命令使用它:

git config --global http.proxy http://proxyuser:[email protected]:8080

但是,我正在使用 Microsoft Git Provider 与 Visual Studio 的集成。而且我无法在任何地方设置代理来连接到 Git 服务器。有没有办法可以在 Visual Studio 中保存 Microsoft Git Provider 的代理详细信息?

git visual-studio visual-studio-2012 proxy
4个回答
27
投票

没有直接的方法在 Visual Studio 中设置 Git 代理

您无需在 Visual Studio 中设置任何内容即可设置 Git 代理 - 事实上,我还没有找到任何直接在 Visual Studio 中执行此操作的方法,并且使用 devenv.exe.config 的替代答案是个人无法上班。


## 但是,有一个简单的解决方案 ##

只要您在安装过程中选中了 Git,Visual Studio 就会安装适用于 Windows 的 Git(最新版本默认有此选项)。安装 Windows 版 Git(或任何操作系统上的一般 Git)后,您可以直接在任何命令行、控制台或 Powershell 窗口轻松设置全局 Git 代理设置。

事实上,您可以使用

Tools/NuGet Package Manager/Package Manager Console
直接在 Visual Studio 中打开命令或 Powershell 提示符。

如果安装了 Git,您可以在任何命令行中键入

git
,您将获得所有 git 命令的列表。如果没有发生这种情况,您可以直接安装 Git for Windows。

您特别需要的 git 命令是:

git config --global http.proxy http://USER:PASSWORD@URL:PORT
git config --global https.proxy http://USER:PASSWORD@URL:PORT

地点:

  • 代理地址可能是
    http://
    不是
    https://
  • USER:PASSWORD@ 是用户名和密码(如果您的代理需要)
  • URL是代理的完整域名
  • PORT 是代理的端口,http 和 https 可能不同

这将在“MyDocuments”文件夹中的全局配置文件中设置您的代理。根据您的操作系统和其他因素,该文件可能会以不同的名称命名或放置在其他位置。您始终可以使用以下命令查看此文件并直接编辑部分和键/值对:

git config --global -e

这将在 Git 中当前编辑器设置中打开全局配置,或者可能是系统默认文本编辑器。您还可以通过位于存储库目录中并省略

--global
标志来查看任何给定存储库的配置文件。

设置代理后,您应该在文件中看到类似以下内容:

[http]
    proxy = <http://user:pass@url:port>
[https]
    proxy = <http://user:pass@url:port>

您可以直接输入这些值,而不是使用配置命令,或者可以删除它们以从配置中删除代理。

注意: 此文件也是存储用于提交的 user.name 和 user.email 的位置 - 请参阅

[user]
部分。


## 其他有用的代理 Git 配置 ##
1. 如果您想为当前本地存储库设置代理(发出命令时必须位于存储库目录中),您也可以省略`--global`或将其替换为`--local`。
2. 此外,您还可以为特定 URL 设置代理,如下所示:
git config --global http.<full URL to apply proxy>.proxy <http://user:pass@url:port>
git config --global https.<full URL to apply proxy>.proxy <http://user:pass@url:port>

请注意,应使用完整的 URL(即前面的

http://
https://
)。


3. 此外,如果您有多个远程仓库,例如“origin”和“upstream”,它们需要不同的代理,您可以专门为其中一个设置代理。
git config --global http.upstream.proxy <http://user:pass@url:port>
git config --global https.upstream.proxy <http://user:pass@url:port>

4. 您可以通过替换代理 URL 来将代理设置为空。例如,如果您想要全局设置代理,但随后排除位于公司防火墙后面的特定 URL(例如企业、Github 的本地版本),并且代理不处理本地,这可能很有用。地址正确。这对于本地主机和其他特殊地址或直接 IP 地址也可能有帮助。
5. 您可以使用以下命令检查给定 URL 的代理是什么:
git config --get-urlmatch http.proxy <any random full URL>

例如:

git config --get-urlmatch http.proxy https://github.com

9
投票

您可以为 Visual Studio 设置代理,如 https://msdn.microsoft.com/en-us/library/dn771556.aspx :

在以下位置找到 devenv.exe.config(devenv.exe 配置文件):%ProgramFiles%\Microsoft Visual Studio 14.0\Common7\IDE(或 %ProgramFiles(x86)%\Microsoft Visual Studio 14.0\Common7\IDE)。

在配置文件中,找到

<system.net>
块,并添加以下代码: XML

<defaultProxy enabled="true" useDefaultCredentials="true">  
    <proxy bypassonlocal="True" proxyaddress=" HYPERLINK "http://<yourproxy:port#" http://<yourproxy:port#>"/>  
</defaultProxy>  

您必须在 proxyaddress="http://.

中插入您网络的正确代理地址。

5
投票

如果对某人有帮助,VS 2017 有一个文件夹:

%ProgramFiles%\Microsoft Visual Studio\2017\Professional\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\Git\mingw32\etc

名为

gitconfig
的文件 - 与
C:\Users\[UserName]\.gitconfig
中的文件相同 - 您可以在其中设置 VS 的代理配置。


3
投票

另一种方法是转到您的用户文件夹

c:\users\<account name>
(在我的例子中为
c:\users\danielj
)并创建一个名为
.gitconfig
的文件。

粘贴以下内容:

[user]
    name = <your name>
[user]
    email = <your email address>
[http]
    sslVerify = false
    proxy = "http://<username>%40<domain e.g. domain.com>:#<password>@<proxy server name>:<port>"
[https]
    sslVerify = false
© www.soinside.com 2019 - 2024. All rights reserved.