web-dev-qa-db-de.com

Legen Sie einen Proxy für Microsoft Git Provider in Visual Studio fest

Ich muss HTTP-Proxy verwenden, um eine Verbindung zum Git-Server herzustellen. Ich kann es über Git Bash einstellen und auch mit dem folgenden Befehl verwenden:

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

Ich verwende jedoch die Microsoft Git Provider-Integration mit Visual Studio. Außerdem kann ich keinen Proxy für die Verbindung zum Git-Server einrichten. Gibt es eine Möglichkeit, die Proxy-Details für Microsoft Git Provider in Visual Studio zu speichern?

8
Saket

Es gibt keine direkte Möglichkeit, einen Git-Proxy in Visual Studio festzulegen

Sie müssen in Visual Studio nichts einrichten, um den Git-Proxy einzurichten. Tatsächlich habe ich in Visual Studio keine Möglichkeit gefunden, dies direkt zu tun, und die alternative Antwort zur Verwendung von devenv.exe.config war ich nicht persönlich in der Lage, zur Arbeit zu kommen.


Es gibt jedoch eine einfache Lösung

Visual Studio installiert Git für Windows, sofern Sie während der Installation ein Häkchen gesetzt haben (bei den neuesten Versionen ist dies standardmäßig aktiviert). Wenn Git für Windows (oder Git im Allgemeinen unter allen Betriebssystemen) installiert ist, können Sie die globalen Git-Proxy-Einstellungen direkt an jeder Befehlszeile, Konsole oder jedem Powershell-Fenster vornehmen.

Tatsächlich können Sie einen Befehl oder eine Powershell-Eingabeaufforderung direkt in Visual Studio mit Tools/NuGet Package Manager/Package Manager Console öffnen.

Wenn Git installiert ist, können Sie an einer beliebigen Befehlszeile git eingeben. Sie erhalten eine Liste aller git-Befehle. Wenn dies nicht der Fall ist, können Sie Git für Windows direkt installieren. Dies würde ich als Teil der Installation der Git Extensions GUI-Anwendung empfehlen. Die Laufleistung kann jedoch variieren.

Sie benötigen insbesondere die Befehle von git:

git config --global http.proxy http://USER:[email protected]:PORT
git config --global https.proxy http://USER:[email protected]:PORT

Woher:

  • Die Proxy-Adresse lautet wahrscheinlich http:// und nicht https://
  • USER: PASSWORD @ ist der Benutzername und das Kennwort, falls dies für Ihren Proxy erforderlich ist
  • URL ist der vollständige Domänenname des Proxy
  • PORT ist der Port des Proxys und kann sich für http und https unterscheiden

Dadurch wird Ihr Proxy in einer globalen Konfigurationsdatei in Ihrem Ordner "MyDocuments" eingerichtet. Je nach Betriebssystem und anderen Faktoren kann die Datei einen anderen Namen haben oder sich an einem anderen Ort befinden. Sie können diese Datei jederzeit anzeigen und die Abschnitte und Schlüssel/Wert-Paare direkt mit dem folgenden Befehl bearbeiten:

git config --global -e

Dadurch wird die globale Konfiguration im aktuellen Editor-Setup in Git oder möglicherweise im Standard-Texteditor des Systems geöffnet. Sie können die Konfigurationsdatei für jedes Repo auch anzeigen, indem Sie sich im Repo-Verzeichnis befinden und das Flag --global nicht angeben.

Nach dem Einrichten des Proxys sollten Sie etwa Folgendes in der Datei sehen:

[http]
    proxy = <http://user:[email protected]:port>
[https]
    proxy = <http://user:[email protected]:port>

Sie können diese Werte direkt eingeben, anstatt die config-Befehle zu verwenden, oder sie löschen, um den Proxy aus der config zu entfernen.

Hinweis: In dieser Datei werden auch der für Commits verwendete user.name und user.email gespeichert - siehe Abschnitt [user].


Weitere nützliche Git-Konfigurationen für Proxy


1. Sie können --global auch weglassen oder durch --local ersetzen, wenn Sie den Proxy für das aktuelle lokale Repo einrichten möchten (Sie müssen sich beim Ausführen des Befehls im Repo-Verzeichnis befinden).


2. Außerdem können Sie einen Proxy nur für eine bestimmte URL wie folgt einrichten:

git config --global http.<full URL to apply proxy>.proxy <http://user:[email protected]:port>
git config --global https.<full URL to apply proxy>.proxy <http://user:[email protected]:port>

Beachten Sie, dass die vollständige URL verwendet werden soll (d. H. http:// oder https:// vorne).


3. Wenn Sie über mehrere Remote-Repos verfügen, z. B. Origin und upstream, für die unterschiedliche Proxies erforderlich sind, können Sie einen Proxy speziell festlegen.

git config --global http.upstream.proxy <http://user:[email protected]:port>
git config --global https.upstream.proxy <http://user:[email protected]:port>


4. Sie können den Proxy auf Null setzen, indem Sie die Proxy-URL durch "" ersetzen. Dies kann nützlich sein, wenn Sie beispielsweise den Proxy global festlegen möchten, dann jedoch eine bestimmte URL ausschließen, die sich hinter Ihrer Unternehmensfirewall befindet (z. B. ein Unternehmen in der lokalen Version von Github) und der Proxy nicht lokal arbeitet richtig adressiert. Dies kann auch bei localhost und anderen speziellen Adressen oder direkten IP-Adressen hilfreich sein.


5. Sie können mit folgendem Befehl prüfen, was der Proxy für eine bestimmte URL ist:

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

zum Beispiel:

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

Sie können einen Proxy für Visual Studio wie in https://msdn.Microsoft.com/en-us/library/dn771556.aspx festlegen:

Suchen Sie nach devenv.exe.config (der Konfigurationsdatei devenv.exe) in:% ProgramFiles%\Microsoft Visual Studio 14.0\Common7\IDE (oder% ProgramFiles (x86)%\Microsoft Visual Studio 14.0\Common7\IDE).

Suchen Sie in der Konfigurationsdatei den <system.net>-Block und fügen Sie diesen Code hinzu: XML

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

Sie müssen die richtige Proxy-Adresse für Ihr Netzwerk in ProxyAdresse = "http: //" eingeben.

5
mikep

Ein anderer Ansatz wäre, in Ihren Benutzerordner c:\users\<account name> (In meinem Fall c:\users\danielj) Zu wechseln und eine Datei mit dem Namen .gitconfig Zu erstellen.

fügen Sie Folgendes ein:

[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
1
Daniel Joubert

Wenn jemand VS VS 2017 einen Ordner (% ProgramFiles%\Microsoft Visual Studio\2017\Professional\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\Git\mingw32\etc) hat, mit der Datei "gitconfig" Datei in "C:\Users [User] .gitconfig", in der Sie die Proxy-Konfiguration für VS einstellen können.

0
Rubensvsx