Wie bringe ich Git dazu, einen Proxyserver zu verwenden?
Ich muss Code von einem Git-Server auschecken, aber jedes Mal wird "Zeitüberschreitung bei Anforderung" angezeigt. Wie komme ich darum herum?
Wie kann ich alternativ einen Proxyserver einrichten?
git
version-control
proxy
PlagueHammer
quelle
quelle
Antworten:
Zu verwendender Befehl:
proxyuser
zu Ihrem Proxy-Benutzerproxypwd
Ihr Proxy-Passwortproxy.server.com
die URL Ihres Proxyservers8080
zu dem auf Ihrem Proxyserver konfigurierten Proxy-PortBeachten Sie, dass dies sowohl für http- als auch für https-Repos funktioniert.
Wenn Sie sich jederzeit dazu entschließen, diesen Proxy zurückzusetzen und ohne Proxy zu arbeiten:
Zu verwendender Befehl:
So überprüfen Sie abschließend den aktuell eingestellten Proxy:
quelle
%40
als Ersatz für die@
Zeichenfolge in Benutzername / Passwort verwenden, obwohl ich dies selbst nicht getestet habe. Ich hoffe es hilft. :-)Dies funktionierte für mich unter Windows XP hinter einer Unternehmensfirewall.
Ich musste keinen lokalen Proxy oder eine andere Software außer git v1.771 von http://code.google.com/p/msysgit/downloads/list?can=3 installieren
proxyuser = der Proxy-Benutzer, den ich von unserer IT-Abteilung zugewiesen bekommen habe. In meinem Fall ist es derselbe Windows-Benutzer, mit dem ich mich bei meinem PC anmelde , der Active Directory-Benutzer
proxypwd = das Passwort meines Proxy-Benutzers
proxy.server.com:8080 = Der Name und der Port des Proxys. Ich habe ihn über die Systemsteuerung, Internetoptionen, Verbindungen, Schaltfläche LAN- Einstellungen, Schaltfläche Erweitert im Abschnitt Proxyserver erhalten. Verwenden Sie den Servernamen und den Port in der ersten Zeile (http) .
mygithubuser = der Benutzer, mit dem ich mich bei github.com anmelde
mygithubpwd = das Passwort für meinen Benutzer github.com
repoUser = der Benutzer des Repos
repoName = der Name des Repos
quelle
git config --global http.sslcainfo MY_NEW_CERTS_BUNDLE.crt
plus Zertifikate, die wie unter simplicidade.org/notes/archives/2011/06/… beschrieben heruntergeladen wurden (danke an: stackoverflow.com/a/7206627/98528 ) haben es für mich getan!git://
Protokolls zu klonen .Legen Sie eine Systemvariable
http_proxy
mit dem Wert von festProxyServer:Port
. Das ist die einfachste Lösung. Verwendenhttps_proxy
Sie jeweils, wie in den Kommentaren erwähnt , daefu.Das Festlegen von gitproxy (wie von sleske erwähnt) ist eine weitere Option, für die jedoch ein "Befehl" erforderlich ist, der nicht so einfach ist wie die obige Lösung.
Referenzen: http://bardofschool.blogspot.com/2008/11/use-git-behind-proxy.html
quelle
http_proxy
ist dies für HTTP-URLs undhttps_proxy
für HTTPS-URLs erforderlich. Alternativ könnte man einfachall_proxy
für alle URLs setzen. SieheENVIRONMENT
Abschnitt in Locke (1) . Beim Festlegen der git-config-Optionen wirdhttp.proxy
jedoch sowohl für HTTP- als auch für HTTPS-URLs verwendet. Siehehttp.proxy
in git-config (1) .Wenn die Befehlszeilenmethode zum Konfigurieren Ihres Proxyservers nicht funktioniert, können Sie wahrscheinlich einfach .gitconfig bearbeiten (im Stammverzeichnis Ihres Profils, das sich möglicherweise sowohl in C: \ Dokumente und Einstellungen als auch auf einem Netzwerklaufwerk verbirgt) und hinzufügen ::
YMMV deckt jedoch nur den ersten Schritt der Befehlszeilenkonfiguration ab. Möglicherweise müssen Sie auch die System-Git-Konfiguration bearbeiten, und ich habe keine Ahnung, wo sie das versteckt haben.
quelle
Alternativ zur Verwendung
git config --global http.proxy address:port
können Sie den Proxy in der Befehlszeile festlegen:Der Vorteil ist, dass der Proxy nicht dauerhaft festgelegt ist. Unter Bash können Sie einen Alias festlegen:
quelle
Wenn Sie Ubuntu verwenden, gehen Sie wie folgt vor ...
Schritt 1: Korkenzieher einbauen
Schritt 2: Schreiben Sie ein Skript mit dem Namen git-proxy.sh und fügen Sie Folgendes hinzu
Schritt 3: Machen Sie das Skript ausführbar
Schritt 4: Richten Sie den Proxy-Befehl für GIT ein, indem Sie die Umgebungsvariable festlegen
Verwenden Sie nun die git-Befehle wie z
quelle
"$@"
anstelle von verwenden$*
. Weitere Informationen finden Sie in Ihrem Shell-Handbuch.Das gleiche Problem wurde aufgrund mehrerer
.gitconfig
Dateien in Windows festgestellt. Führen Sie die folgenden Schritte aus, um dasselbe Problem zu beheben:Schritt 1: Öffnen Sie Git BASH
Schritt 2: Suchen Sie nach dem
.gitconfig
folgenden Befehl und führen Sie ihn aus:Schritt 3: Kopieren Sie den folgenden Inhalt in
.gitconfig
:quelle
Versuchen Sie, Folgendes in die Datei ~ / .gitconfig einzufügen:
quelle
Installieren Sie für das Git-Protokoll (Git: // ...) socat und schreiben Sie ein Skript wie:
Machen Sie es ausführbar, fügen Sie es in Ihren Pfad und in Ihren
~/.gitconfig
Satzcore.gitproxy
auf den Namen dieses Skripts ein.quelle
socat STDIO PROXY:%proxy%:%1:%2,proxyport=%PROXYPORT%
set GIT_PROXY_COMMAND=path\to\script
, um GIT dazu zu bringen, den Proxy zu verwenden, ohne die Git-Konfiguration zu beeinträchtigen.Es gibt etwas, das mir aufgefallen ist und das ich hier teilen möchte:
Die obige Methode funktioniert nicht für SSH-URLs (dh
[email protected]:<user name>/<project name>.git
):Und die Dinge werden sich nicht ändern, wenn wir SSH über den HTTPS-Port ( https://help.github.com/de/articles/using-ssh-over-the-https-port ) einstellen, da nur der Port geändert wird (standardmäßig 22) ) die ssh verbindung verbindet sich mit.
(Kein englischer Muttersprachler, bitte verfeinern Sie meine Worte, falls erforderlich)
quelle
Ich arbeite unter Windows XP bei der Arbeit (state / gov), also habe ich meine Nachforschungen angestellt und dies hier gefunden und es hat für mich funktioniert. Hoffe das hilft :)
Die Umgebungsvariable http_proxy
Wenn Sie einen Proxyserver oder eine Firewall verwenden, müssen Sie möglicherweise die Umgebungsvariable http_proxy festlegen, um über die Befehlszeile auf eine URL zugreifen zu können. Beispiel: Installieren von ppm für Perl oder Anwenden von RPM unter Linux, Aktualisieren von Ubuntu
Legen Sie die Variable http_proxy mit dem Hostnamen oder der IP-Adresse des Proxyservers fest: http_proxy = http: // [proxy.example.org]
Wenn der Proxyserver einen Benutzernamen und ein Kennwort benötigt, geben Sie diese in der folgenden Form an: http_proxy = http: // [Benutzername: [email protected]]
Wenn der Proxyserver einen anderen Port als 80 verwendet, geben Sie die Portnummer an: http_proxy = http: // [Benutzername: [email protected]: 8080]
Windows XP
Linux, Solaris oder HP-UX
Legen Sie die Umgebungsvariable http_proxy mit dem für Ihre Shell spezifischen Befehl fest (z. B. set oder export). Fügen Sie den Befehl der entsprechenden Profildatei für die Shell hinzu, um diese Änderung dauerhaft zu machen. Fügen Sie beispielsweise in bash Ihrer .bash_profile- oder .bashrc-Datei eine Zeile wie die folgende hinzu:
quelle
Zusätzlich zu diesen Antworten fand ich es hilfreich, diese 2 Punkte zu berücksichtigen:
Möglicherweise muss ein Authentifizierungsschema erzwungen werden:
In der Regel muss bei einem NTLM-Authentifizierungsschema die AD-Domäne explizit angegeben werden.
In Git Bash:
Und aktualisieren Sie den http.proxy entsprechend:
Auf jeden Fall kann die Untersuchung durch Hinzufügen von CURL-Protokollen unterstützt werden:
quelle
git config --global http.proxyAuthMethod basic
. Git gersion 2.8.3 hat keine Authentifizierung gesendet, bis ich diesen Konfigurationsparameter festgelegt habe.Wenn Sie Tsocks oder Proxy-Ketten installiert und konfiguriert haben, können Sie dies tun
oder
Um es kürzer zu machen, habe ich einen Symbol-Link
/usr/bin/p
für erstelltproxychains
, damit ich ihn so verwenden kannund ich kann es verwenden, um jeden Befehl zu vertreten,
Übrigens, Proxychains werden schon lange nicht mehr aktualisiert. Vielleicht möchten Sie Proxychians-ng ausprobieren
quelle
Git-Proxy am Terminal einstellen
wenn
Stellen Sie es einmal global ein
Wenn Sie einen Proxy nur für ein Git-Projekt festlegen möchten (in einigen Situationen möchten Sie möglicherweise nicht denselben Proxy oder überhaupt keinen Proxy für einige Git-Verbindungen verwenden).
Wenn Sie die aktuellen Proxy-Einstellungen anzeigen möchten
Wenn Sie den Proxy global entfernen möchten
Wenn Sie den Proxy für nur einen Git-Root entfernen möchten
quelle
Hier ist die Proxy-Einstellung
quelle
Ich folgte den meisten Antworten, die hier empfohlen wurden. Zuerst habe ich folgenden Fehler bekommen:
Dann habe ich den folgenden Befehl von @Salim Hamidi ausprobiert
Aber ich habe folgenden Fehler bekommen:
Dies kann passieren, wenn der Proxyserver das SSL-Zertifikat nicht überprüfen kann. Wir möchten daher sicherstellen, dass die SSL-Überprüfung deaktiviert ist (nicht für nicht vertrauenswürdige Sites empfohlen). Daher habe ich die folgenden Schritte ausgeführt, die von @Arpit empfohlen wurden, jedoch mit geringfügigen Änderungen:
1. Stellen Sie zunächst sicher, dass Sie alle vorherigen Proxy-Einstellungen entfernen:
2.Listen Sie dann den Inhalt von gitconfig auf und rufen Sie ihn ab
3. Aktualisieren Sie zuletzt den Inhalt der gitconfig-Datei wie folgt:
quelle
Ich habe alle oben genannten Antworten ausprobiert und nichts hat bei mir funktioniert, da Probleme mit der Proxy-Kennwortcodierung aufgetreten sind.
Dieser Befehl hat funktioniert:
Geben Sie das Passwort nicht in Ihren Befehl ein. Es wird dynamisch gefragt, wann Sie versuchen, eine Verbindung zu einem Git-Repo herzustellen.
quelle
Für Windows-Benutzer: if
git config
oderset http_proxy=
nicht funktioniert, diese Antwort kann helfen:Ersetzen Sie das
git://
Protokoll des Git-Repositorys durchhttp://
. Beachten Sie, dass Siehttp_proxy
sowieso die erste einstellen müssen.quelle
Nachdem ich unermüdlich jede Lösung auf dieser Seite ausprobiert hatte, bestand meine Aufgabe darin, stattdessen einen SSH-Schlüssel zu verwenden!
quelle