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

时间:2017-05-31 13:05:32

标签: git visual-studio visual-studio-2012 proxy

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

git config --global http.proxy http://proxyuser:proxypwd@proxy.server.com:8080

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

4 个答案:

答案 0 :(得分:11)

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

你不需要在Visual Studio中设置任何东西来设置Git代理 - 事实上,我没有找到任何方法直接在Visual Studio中这样做,以及使用devenv.exe的替代答案。我个人无法上班。


然而,有一个简单的解决方案

只要您在安装期间对Git进行了勾选检查,Visual Studio就会安装Git for Windows(默认情况下,最新版本都有此选项)。一旦安装了Git for Windows(或任何操作系统上的Git),您就可以在任何命令行,控制台或Powershell窗口中直接轻松设置全局Git代理设置。

实际上,您可以使用Tools/NuGet Package Manager/Package Manager Console直接在Visual Studio中打开命令或Powershell提示。

如果安装了Git,您可以在任何命令行键入git,您将获得所有git命令的列表。如果没有发生这种情况,您可以直接安装Git for Windows - 我建议将其作为安装Git Extensions GUI应用程序的一部分,但您的里程可能会有所不同。

您需要的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中的当前编辑器设置中打开全局配置,或者可能是系统默认文本编辑器。您还可以通过位于repo目录中并查看--global标志来查看任何给定仓库的配置文件。

设置代理后,您应该看到以下内容作为文件的一部分:

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

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

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


其他有用的代理Git配置


1.如果要为当前本地存储设置代理,也可以不使用--global或将其替换为--local(发出命令时必须位于repo目录中)。


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>

请注意,应使用完整的网址(即前面的http://https://)。


3.此外,如果您有多个远程回购,例如originupstream,需要不同的代理,您可以专门设置一个代理。

git config --global http.upstream.proxy <http://user:pass@url:port>
git config --global https.upstream.proxy <http://user:pass@url:port>


4.您可以通过将""替换为代理URL来将代理设置为null。例如,如果您想要全局设置代理,然后排除公司防火墙后面的特定URL(例如企业,Github的内部版本),并且代理不处理本地代理,这可能很有用。地址正确。这对localhost和其他特殊地址或直接IP地址也有帮助。


5.您可以使用以下内容检查给定URL的代理:

git config --get-urlmatch http.proxy <any random full URL>

例如:

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

答案 1 :(得分:5)

您可以像https://msdn.microsoft.com/en-us/library/dn771556.aspx中一样为Visual Studio设置代理:

  

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

     

在配置文件中,找到'admin_comments' => $this->model_sale_order->getOrderHistories( $result['order_id']); 块,并添加以下代码:       XML

<system.net>
  

您必须在proxyaddress =&#34; http://。

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

答案 2 :(得分:1)

如果VS 2017可以帮助某人,则该文件夹具有一个名为“ gitconfig”的文件夹(%ProgramFiles%\ Microsoft Visual Studio \ 2017 \ Professional \ Common7 \ IDE \ CommonExtensions \ Microsoft \ TeamFoundation \ Team Explorer \ Git \ mingw32 \ etc)作为“ C:\ Users [User] .gitconfig”中的文件,您可以在其中设置VS的代理配置。

答案 3 :(得分:1)

另一种方法是转到用户文件夹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