ich git push
meine Arbeit in ein entferntes Git-Repository.
Jeden push
wird mich zur Eingabe auffordern username
und password
. Ich würde es gerne bei jedem Push vermeiden, aber wie kann ich es konfigurieren, um es zu vermeiden?
Leem.fin
ich git push
meine Arbeit in ein entferntes Git-Repository.
Jeden push
wird mich zur Eingabe auffordern username
und password
. Ich würde es gerne bei jedem Push vermeiden, aber wie kann ich es konfigurieren, um es zu vermeiden?
Erste Null
Ö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 Zertifikate/private und öffentliche SSH-Schlüssel verwenden kann)
Hier ist ein Komplettlösung auf Putty Gen für die obigen Schritte
Dieser Schritt variiert, je nachdem, wie Ihre Fernbedienung eingerichtet ist.
Wenn es sich um ein GitHub-Repository handelt und Sie über Administratorrechte verfügen, gehen Sie zu die Einstellungen und klicken Sie auf „SSH-Schlüssel hinzufügen“. Kopieren Sie den Inhalt Ihrer ~/.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 Remote-Repository von Ihnen verwaltet wird, können Sie beispielsweise diesen Befehl verwenden:
scp ~/.ssh/id_rsa.pub YOUR_USER@YOUR_IP:~/.ssh/authorized_keys/id_rsa.pub
Wenn Sie die obigen Schritte ausgeführt haben und immer noch die Passwortabfrage erhalten, vergewissern Sie sich, dass Ihre Repo-URL im Formular enthalten ist
git+ssh://[email protected]/username/reponame.git
im Gegensatz zu
https://github.com/username/reponame.git
Führen Sie Folgendes aus, um Ihre Repo-URL anzuzeigen:
git remote show origin
Sie können die URL ändern mit:
git remote set-url origin git+ssh://[email protected]/username/reponame.git
[1] Dieser Abschnitt enthält die Antwort von Eric P
Ich habe Schritt 1 und Schritt 2 auf Ubuntu ausgeführt, aber es fragt mich immer noch nach u_id passwd. Ich habe auch ausgeführt: ssh -T [email protected]. Immer noch die gleichen. Was ist zu tun?
– Radhika
7. Januar 2015 um 7:24 Uhr
@Rads Hast du die andere Antwort versucht, by Erich P?
– du
2. März 2015 um 1:48 Uhr
@dialex Er meinte eine Person, die das Remote-Git-Repository verwaltet.
– Verkäufer
22. Dezember 2015 um 11:40 Uhr
git remote set-url origin git+ssh://[email protected]/username/reponame.git dieser Befehl ist hilfreich für mich.
– Künstliche Intelligenz
18. Juni 2016 um 0:09 Uhr
Das hat bei mir funktioniert git remote set-url origin [email protected]:/username/projectname.git
– Kurt
11. April 2019 um 14:00 Uhr
Jaykumar Patel
Führen Sie den folgenden Befehl aus, um das Zwischenspeichern 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://[email protected]': <PASSWORD>
Die Verwendung sollte auch angeben Caching verfallen,
git config --global credential.helper 'cache --timeout 7200'
Nachdem Sie das Zwischenspeichern von Anmeldeinformationen aktiviert haben, werden diese zwischengespeichert 7200 Sekunden (2 Stunden).
Notiz: Credential Helper speichert ein unverschlüsseltes Passwort auf einer lokalen Festplatte.
Danke. Können Sie bitte erklären, was der Befehl config macht? Ich frage mich, warum es mich nicht einmal nach einem Passwort fragt, wenn ich das erste Mal in ein Repo pushe.
– HelloWorldNoMore
10. Mai 2016 um 21:06 Uhr
@vivoconunxino Wahrscheinlich, weil es von Natur aus unsicher ist. Von dem git
manpage: “Die Verwendung dieses Helfers speichert Ihre Passwörter unverschlüsselt auf der Festplatte, geschützt nur durch Dateisystemberechtigungen.”
– Cmaster – Wiedereinsetzung von Monica
15. Dezember 2017 um 15:33 Uhr
In dieser Antwort fehlt eine Warnung über die store
Credential Helper speichert das Passwort unverschlüsselt auf der Festplatte.
– Cmaster – Wiedereinsetzung von Monica
15. Dezember 2017 um 15:34 Uhr
@DavidRTibble: auf Cache setzen? Oder entfernen Sie die relevante Datei, siehe git-scm.com/docs/git-credential-store
– serv-inc
29. März 2019 um 14:44 Uhr
@DavidRTibble: besser: git config --unset credential.helper
– serv-inc
3. April 2019 um 8:11 Uhr
Erich P
Wenn Sie Ihre SSH-Schlüssel bereits eingerichtet haben und immer noch die Passwortabfrage erhalten, vergewissern Sie sich, dass Ihre Repo-URL im Formular enthalten ist
git+ssh://[email protected]/username/reponame.git
im Gegensatz zu
https://github.com/username/reponame.git
Führen Sie Folgendes aus, um Ihre Repo-URL anzuzeigen:
git remote show origin
Sie können die URL mit ändern git remote set-url
so:
git remote set-url origin git+ssh://[email protected]/username/reponame.git
Dies hat mein Problem behoben, nachdem ich es verwendet hatte git init
lokal und versuchte dann, nach dem Hinzufügen der Fernbedienung von einem neuen Repo auf der GitHub-Website zu pushen.
– sheldonkreger
27. Dezember 2014 um 1:26 Uhr
Ich bin mir nicht sicher, warum dies nicht Teil der akzeptierten Antwort ist. Danke!
– jwalk
15. Januar 2016 um 7:24 Uhr
Die akzeptierte Antwort sollte aus der tatsächlich akzeptierten Antwort PLUS dieser bestehen.
– Puce
16. Januar 2016 um 16:57 Uhr
Sie können “git+ssh://” weglassen und einfach verwenden [email protected]/username/reponame.git
– Ivan Shulev
26. Januar 2016 um 15:11 Uhr
@IvanShulev Ich habe es anfangs ohne git + ssh versucht und es hat nicht funktioniert
– Antonello
8. Dezember 2016 um 12:59 Uhr
Pavel
Benutz einfach --repo
Option für den Befehl git push. So was:
$ git push --repo https://name:[email protected]/name/repo.git
serv-inc
Du kannst den … benutzen git-credential-store über
git config credential.helper store
welcher speichert Ihr Passwort unverschlüsselt im Dateisystem:
Wenn Sie diesen Helfer verwenden, werden Ihre Passwö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 finden Sie einen Helfer, der sich in den sicheren Speicher Ihres Betriebssystems integrieren lässt.
Verwenden Sie die Git-Anmeldeinformationen-Cache die standardmäßig das Passwort für 15 Minuten speichert.
git config credential.helper cache
Um ein anderes Timeout festzulegen, verwenden Sie --timeout
(hier 5 Minuten)
git config credential.helper 'cache --timeout=300'
- Wenn Sie einen Mac verwenden, wird Git mit einer „osxkeychain“-Modus, das Anmeldeinformationen im sicheren Schlüsselbund zwischenspeichert, der an Ihr Systemkonto angehängt ist. Bei dieser Methode werden die Anmeldeinformationen auf der Festplatte gespeichert, und sie laufen nie ab, aber sie werden mit demselben System verschlüsselt, das HTTPS-Zertifikate und Safari-Autofills speichert. Wenn Sie Folgendes in der Befehlszeile ausführen, wird diese Funktion aktiviert:
git config --global credential.helper osxkeychain
. Sie müssen die Anmeldeinformationen auch mit der Schlüsselbund-App im Schlüsselbund speichern.- Wenn Sie Windows verwenden, können Sie Installieren Sie einen Helfer namens „Git Credential Manager for Windows“. Dies ähnelt dem oben beschriebenen „osxkeychain“-Hilfsprogramm, verwendet jedoch den Windows-Anmeldeinformationsspeicher, um vertrauliche Informationen zu kontrollieren. Es ist unter zu finden https://github.com/Microsoft/Git-Credential-Manager-for-Windows. [emphases mine]
Für Windows credential.helper cache
funktioniert nicht. Es sollte sein git config --global credential.helper wincred
.
– Paulo Merson
17. Juli 2019 um 16:38 Uhr
Dies ist hilfreich, wenn Sie gezwungen sind, https zu verwenden. Mein Git auf dem Server hängt, wenn ich ssh verwende, daher habe ich keine Option für SSH-Schlüssel.
– Sridhar Sarnobat
21. Oktober 2019 um 18:24 Uhr
Matt
Ich habe den https-Link verwendet (https://github.com/org/repo.git
) anstelle des ssh-Links;
[email protected]:org/repo.git
Der Wechsel hat das Problem bei mir gelöst!
Für Windows credential.helper cache
funktioniert nicht. Es sollte sein git config --global credential.helper wincred
.
– Paulo Merson
17. Juli 2019 um 16:38 Uhr
Dies ist hilfreich, wenn Sie gezwungen sind, https zu verwenden. Mein Git auf dem Server hängt, wenn ich ssh verwende, daher habe ich keine Option für SSH-Schlüssel.
– Sridhar Sarnobat
21. Oktober 2019 um 18:24 Uhr
Anil Agrawal
Schritt 1 –
Erstellen Sie SSH-Schlüssel auf Ihrem Linux-System mit dem folgenden Befehl
ssh-keygen -t rsa -b 4096 -C "your_email"
Es wird nach Passphrase und Dateiname gefragt (Standard ist ~/.ssh/id_rsa, ~/.ssh/id_rsa.pub)
Schritt 2 –
Sobald die Dateien erstellt sind, fügen Sie den öffentlichen Schlüssel id_rsa.pub zum ssh-Abschnitt des Github-Kontos hinzu.
Schritt 3 –
Fügen Sie auf Ihrem Computer den privaten Schlüssel id_rsa mit dem folgenden Befehl zu ssh-agent hinzu
ssh-add ~/.ssh/id_rsa
Schritt 4 –
Fügen Sie nun die Remote-URL [email protected]:user_name/repo_name.git mit dem folgenden Befehl zu Ihrem lokalen Git-Repo hinzu.
git remote remove origin
git remote add origin [email protected]:user_name/repo_name.git
Das ist es.
Eine Antwort finden Sie hier: stackoverflow.com/questions/6565357/…
– kbdjockey
21. Dezember 2011 um 11:02 Uhr
Um es kurz zu machen: Für github folgen Sie einfach diesen beiden Links help.github.com/articles/generating-ssh-keys help.github.com/articles/change-a-remote-s-url
– JRun
12. August 2014 um 11:45 Uhr
für Bitbucket folgen Sie bitte dieser Link
– JDP
13. Oktober 2016 um 4:11 Uhr
Beantwortet das deine Frage? Git-Push erfordert Benutzername und Passwort
– T. Todua
27. Dezember 2021 um 10:12 Uhr