I git push
meine Arbeit in ein entferntes Git-Repository.
Alle push
wird mich zur Eingabe auffordern username
y password
. Ich möchte das bei jedem Push vermeiden, aber wie kann ich das konfigurieren, um es zu vermeiden?
I git push
meine Arbeit in ein entferntes Git-Repository.
Alle push
wird mich zur Eingabe auffordern username
y password
. Ich möchte das bei jedem Push vermeiden, aber wie kann ich das konfigurieren, um es zu vermeiden?
All dies ist darauf zurückzuführen, dass Git in den Befehlen clone/pull/push/fetch keine Option zum Senden der Anmeldeinformationen über eine Pipe bereitstellt. Zwar gibt es credential.helper, aber es speichert im Dateisystem oder erstellt einen Daemon usw. Oft sind die Anmeldeinformationen von GIT auf Systemebene und die Verantwortung, sie sicher zu halten, liegt bei der Anwendung, die die Git-Befehle aufruft. Das ist in der Tat sehr unsicher.
Hier ist, womit ich arbeiten musste. 1. Die Git-Version (git --version) sollte größer als oder gleich 1.8.3 sein.
GIT-KLONE
Zum Klonen verwenden Sie "git clone URL", nachdem Sie die URL vom Format http://{myuser}@{my\_repo\_ip\_address}/{myrepo\_name.git} in http://{myuser}:{mypwd}@{my\_repo\_ip\_address}/{myrepo\_name.git} geändert haben
Entfernen Sie dann das Passwort aus dem Repository, wie im nächsten Abschnitt beschrieben.
SPÜLEN
Nun, das wäre gegangen und
Wenn Ihre Anwendung Java zur Ausgabe dieser Befehle verwendet, verwenden Sie ProcessBuilder anstelle von Runtime. Wenn Sie Runtime verwenden müssen, verwenden Sie getRunTime().exec, das ein String-Array als Argumente annimmt, mit /bin/bash und -c als Argumente, anstatt das, das einen einzelnen String als Argument annimmt.
GIT FETCH/PULL/PUSH
In meinem Fall funktionierte die Verwendung von SSH, nachdem ich den öffentlichen Schlüssel zu GitHub hinzugefügt hatte, und das Einstellen des entfernten Schlüssels auf etwas wie git@github.com/username/reponame.git sowie das dauerhafte Hinzufügen des privaten Schlüssels vor Ort. Die lokalen Befehle waren:
ssh-add
ssh-add -K
Ich vermute, dass der letzte Schritt für einige Leute fehlen könnte.
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.