In diesen Tagen, wenn ich auf der Setup-Seite ein neues Repository auf GitHub erstelle, erhalte ich:
git remote add origin https://github.com/nikhilbhardwaj/abc.git
git push -u origin master
Und wann immer ich ein Commit drücken muss, muss ich meinen GitHub-Benutzernamen und mein Passwort eingeben.
Ich kann das manuell ändern
[email protected]:nikhilbhardwaj/abc.git
in der .git/config
. Ich finde das ziemlich irritierend - gibt es eine Möglichkeit, git so zu konfigurieren, dass es standardmäßig SSH verwendet?
insteadOf
Trick gibt es seit mindestens 2012. Siehe auch So konvertieren Siegit:
URLs inhttp:
URLs .Antworten:
Richten Sie den Ursprungszweig eines Repositorys als SSH ein
Die Setup-Seite für das GitHub-Repository ist nur eine vorgeschlagene Liste von Befehlen (und GitHub schlägt jetzt die Verwendung des HTTPS-Protokolls vor). Sofern Sie keinen Administratorzugriff auf die Website von GitHub haben, kann ich die vorgeschlagenen Befehle nicht ändern.
Wenn Sie lieber das SSH-Protokoll verwenden möchten, fügen Sie einfach einen Remote-Zweig wie diesen hinzu (dh verwenden Sie diesen Befehl anstelle des von GitHub vorgeschlagenen Befehls). Informationen zum Ändern eines vorhandenen Zweigs finden Sie im nächsten Abschnitt.
Ändern Sie ein bereits vorhandenes Repository
Wie Sie bereits wissen, können Sie die Remote-URL in Ihrer
.git/config
Datei ändern, um ein bereits vorhandenes Repository auf SSH anstelle von HTTPS umzustellen .Eine Verknüpfung ist die Verwendung des
set-url
Befehls:Weitere Informationen zum SSH-HTTPS-Switch
quelle
set-url
helfen Sie mir! Vielen Dank !GitHub
Bit Bucket
Das weist git an, beim Herstellen einer Verbindung zu GitHub / BitBucket immer SSH anstelle von HTTPS zu verwenden, sodass Sie sich standardmäßig per Zertifikat authentifizieren, anstatt zur Eingabe eines Kennworts aufgefordert zu werden.
quelle
url.<base>.insteadOf
.git config --global [email protected]:.insteadOf https://github.com/
funktioniert sicher in Git 2.7.4.)--global
und auf Pro-Repo-Basis durchzuführen.Die Antwort von Trevor ist korrekt .
Aber hier ist, was Sie direkt in Ihre hinzufügen können
.gitconfig
:quelle
[url "ssh://[email protected]/"]
insteadOf = https://gitlab.com/
Es gibt auch,pushInsteadOf
wenn Sie die Push-URL beeinflussen, aber nicht abrufen möchten. Kann verwendet werdengit remote -v
, um effektive URLs zu überprüfen, die git verwenden wird.Möglicherweise haben Sie das Repository versehentlich in https anstelle von ssh geklont. Ich habe diesen Fehler mehrfach auf Github gemacht. Stellen Sie sicher, dass Sie beim Klonen zuerst den ssh-Link anstelle des https-Links kopieren.
quelle
Sie müssen in ssh klonen, nicht in https.
Dazu müssen Sie Ihre SSH-Schlüssel einstellen. Ich habe dieses kleine Skript vorbereitet, das dies automatisiert:
und lauf es wie
Ändern Sie Ihre Remote-URL
Fügen Sie
~/.ssh/github.com_rsa.pub
Ihren ssh-Schlüsseln auf github.com Inhalte hinzuVerbindung prüfen
quelle
SSH-Datei
Bearbeiten Sie reponame / .git / config
quelle