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?
Öffnen Sie das Terminal, um ssh-Schlüssel zu erstellen:
cd ~ #Your home directory
ssh-keygen -t rsa #Press enter for all values
(Funktioniert nur, wenn das Commit-Programm in der Lage ist, Zertifikate/private und öffentliche ssh-Schlüssel zu verwenden)
Hier ist ein Durchgang auf putty gen für die oben genannten Schritte
Dieser Schritt hängt davon ab, wie Ihre Fernbedienung eingerichtet ist.
Wenn es sich um ein GitHub-Repository handelt und Sie über administrative Rechte verfügen, gehen Sie zu Einstellungen und klicken Sie auf 'SSH-Schlüssel hinzufügen'. Kopieren Sie den Inhalt Ihres ~/.ssh/id_rsa.pub
in das Feld "Schlüssel" ein.
Wenn Ihr Repository von jemand anderem verwaltet wird, geben Sie dem Administrator Ihre id_rsa.pub
.
Wenn Ihr entferntes Repository von your verwaltet wird, können Sie zum Beispiel diesen Befehl verwenden:
scp ~/.ssh/id_rsa.pub YOUR_USER@YOUR_IP:~/.ssh/authorized_keys/id_rsa.pub
Wenn Sie die obigen Schritte durchgeführt haben und immer noch die Passwortabfrage erhalten, stellen Sie sicher, dass Ihre Repo-URL die folgende Form hat
git+ssh://git@github.com/username/reponame.git
im Gegensatz zu
https://github.com/username/reponame.git
Um die URL Ihres Repos zu sehen, führen Sie aus:
git remote show origin
Sie können die URL mit ändern:
git remote set-url origin git+ssh://git@github.com/username/reponame.git
[1] Dieser Abschnitt enthält die Antwort von <a href="https://stackoverflow.com/users/1094910/eric-p">Eric P.</a>
Führen Sie den folgenden Befehl aus, um die Zwischenspeicherung von Anmeldeinformationen zu aktivieren.
$ git config credential.helper store
$ git push https://github.com/repo.git
Username for 'https://github.com': <USERNAME>
Password for 'https://USERNAME@github.com': <PASSWORD>
Die Verwendung sollte auch angeben Caching ablaufen lassen ,
git config --global credential.helper 'cache --timeout 7200'
Nach dem Aktivieren der Zwischenspeicherung von Anmeldeinformationen werden diese zwischengespeichert für 7200 Sekunden (2 Stunden) .
Note : Credential Helper speichert ein unverschlüsseltes Kennwort auf einem lokalen Datenträger.
Wenn Sie Ihre SSH-Schlüssel bereits eingerichtet haben und immer noch die Passwortabfrage erhalten, stellen Sie sicher, dass Ihre Repo-URL in der Form
git+ssh://git@github.com/username/reponame.git
im Gegensatz zu
https://github.com/username/reponame.git
Um die URL Ihres Repos zu sehen, führen Sie aus:
git remote show origin
Sie können die URL ändern mit git remote set-url
etwa so:
git remote set-url origin git+ssh://git@github.com/username/reponame.git
Sie können die git-credential-store を経て
git config credential.helper store
die speichert Ihr Passwort unverschlüsselt im Dateisystem :
Mit diesem Hilfsmittel werden Ihre Kennwörter unverschlüsselt auf der Festplatte gespeichert und nur durch Dateisystemberechtigungen geschützt. Wenn dies kein akzeptabler Sicherheitskompromiss ist, versuchen Sie es mit git-credential-cache oder suchen Sie nach einem Hilfsmittel, das mit dem von Ihrem Betriebssystem bereitgestellten sicheren Speicher integriert werden kann.
Verwenden Sie die git-credential-cache die das Kennwort standardmäßig 15 Minuten lang speichert.
git config credential.helper cache
um ein anderes Zeitlimit einzustellen, verwenden Sie --timeout
(hier 5 Minuten)
git config credential.helper 'cache --timeout=300'
- Wenn Sie einen Mac verwenden, wird Git mit einem "osxkeychain"-Modus die Anmeldeinformationen im sicheren Schlüsselbund zwischenspeichert, der mit Ihrem Systemkonto verknüpft ist. Bei dieser Methode werden die Anmeldeinformationen auf der Festplatte gespeichert und laufen nie ab, aber sie werden mit demselben System verschlüsselt, das auch HTTPS-Zertifikate und Safari-Auto-Fills speichert. Wenn Sie das Folgende in der Befehlszeile ausführen, wird diese Funktion aktiviert:
git config --global credential.helper osxkeychain
. Sie müssen die Anmeldedaten auch im Schlüsselbund speichern, indem Sie die Schlüsselbund-App verwenden.- Wenn Sie Windows verwenden, können Sie Installieren Sie ein Hilfsmittel namens "Git Credential Manager für Windows". Dies ähnelt dem oben beschriebenen "osxkeychain"-Helfer, verwendet aber den Windows Credential Store, um sensible Informationen zu kontrollieren. Sie kann gefunden werden unter https://github.com/Microsoft/Git-Credential-Manager-for-Windows . [Hervorhebungen von mir]
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.