Ich habe die Git-Proxy-Konfiguration als 'http.proxy = http: // userId: pwd @ 123 @ipaddress: port', aber beim Klonen eines Remote-Projekts wird die Fehlermeldung als angezeigt
Cloning into git...
error: Couldn't resolve proxy '123@ipaddress' while accessing http://git.kernel.org/pub/scm/git/git.git/info/refs
fatal: HTTP request failed
Wie entkomme ich dem @ -Zeichen im Passwort?
Bitte beachten Sie: Ich kann das Passwort nicht ändern.
Anmerkung (November 2013)
Das Codieren der URL (insbesondere eines Sonderzeichens in einem Passwort) ist die richtige Lösung.
Das
.netrc
Folgende gilt nur für die Remote-Repo-URL, nicht für den Proxy, der zum Auflösen der Remote-Repo-URL verwendet wird.Für diese Codierung siehe " Prozentcodierung ":
Ursprüngliche Antwort (Mai 2011)
Zwei Kommentare:
Ein Passwort für einen Server zu haben, auf den mit http (nicht https) zugegriffen wird, ist ... seltsam. Das Kennwort wird während der Kommunikation zwischen Client und Server nicht verschlüsselt.
Sie können ein
.netrc
(oder_netrc
für Windows) in Ihrem$HOME
mit dem folgenden Inhalt einrichtenDie von Git hinter der Szene verwendete Locke würde die Codierung gut handhaben,
@
oder nein@
.quelle
http://123@ipaddress:port/...
als Klonadresse verwenden, ohne Benutzer- und Kennwortinformationen hinzufügen zu müssen.URL-Codierung ungewöhnlicher Zeichen.
Liste der URL-Codes.
In meiner Git-Konfigurationsdatei habe ich zum Beispiel "nur" den Benutzernamen codiert:
quelle
Zum Beispiel Ihr Passwort in der Umgebungsvariablen
GIT_PASSWORD
Benutzername - gespeichertGIT_USERNAME
, dann:Erklärung von:
echo -n $GIT_PASSWORD | hexdump -v -e '"x" 1/1 "%02X"' | tr x %
$GIT_REPOSITORY
<-hello
hello
<-x68x65x6Cx6Cx6F
x68x65x6Cx6Cx6F
<-%68%65%6C%6C%6F
quelle
Sie müssen | prozentual codieren codieren Sie die Sonderzeichen. ZB stattdessen:
du schreibst das:
So
@
wird ersetzt mit%40
.quelle