in dem .git/config. Ich finde das ziemlich irritierend – Gibt es eine Möglichkeit, Git so zu konfigurieren, dass es standardmäßig SSH verwendet?
Ich denke, die Antwort von @ MoOx entspricht wahrscheinlich am ehesten dem, was Sie suchen. Die insteadOf trick gibt es seit mindestens 2012. Siehe auch Konvertieren git: URLs zu http: URLs.
– jww
16. November 2017 um 21:02 Uhr
David Kain
Richten Sie den Ursprungszweig eines Repositorys als SSH ein
Die Einrichtungsseite des GitHub-Repositorys ist nur eine vorgeschlagene Liste von Befehlen (und GitHub schlägt jetzt die Verwendung des HTTPS-Protokolls vor). Wenn Sie keinen Administratorzugriff auf die Website von GitHub haben, kenne ich keine Möglichkeit, die vorgeschlagenen Befehle zu ändern.
Wenn Sie lieber das SSH-Protokoll verwenden möchten, fügen Sie einfach einen Remote-Zweig wie folgt hinzu (dh verwenden Sie diesen Befehl an Ort und Stelle des von GitHub vorgeschlagenen Befehls). Informationen zum Ändern eines vorhandenen Zweigs finden Sie im nächsten Abschnitt.
Wie Sie bereits wissen, können Sie die Remote-URL in Ihrem ändern, um ein bereits vorhandenes Repository auf die Verwendung von SSH anstelle von HTTPS umzustellen .git/config Datei.
Danke, ich wusste nicht, dass sie Smart https zum Standard machen.
– Nikhil
26. Juni 2012 um 9:29 Uhr
Das mag für Windows-Benutzer gut sein, aber unter Linux war es ein ziemlicher Rückschritt: ssh hat immer funktioniert, und das neue Passwort-Caching für Smart HTTPS funktioniert nur unter Windows. Da ist eine Notiz dran “Wo ist die Mac-Version?” aber nicht ein Einzel Wort für Linux-Benutzer.
– MestreLion
14. September 2012 um 13:13 Uhr
Ich sollte hinzufügen, dass diese Methode den Mac-Client von github überhaupt nicht stört. Ändern Sie es und Sie können problemlos sowohl die Befehlszeilen- als auch die GUI-Version (Github-Client) von Git verwenden.
– Kemal Dağ
11. Oktober 2013 um 8:39 Uhr
Aufs Neue set-url Hilf mir! Vielen Dank !
– guozqzzu
22. November 2017 um 4:59 Uhr
Jetzt, da GitHub den Passwortzugriff missbilligt (siehe hier), scheint es, als müsste diese Antwort irgendwo Teil ihrer offiziellen Dokumentation sein. Ist es schon da?
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 Passworts aufgefordert zu werden.
Falls das jemand nachschauen möchte die Dokumentationsuchen nach url.<base>.insteadOf.
– Benutzer456814
18. Juni 2014 um 15:39 Uhr
Seien Sie vorsichtig, dies scheint einige Dinge zu beschädigen – ich habe festgestellt, dass einige Funktionen von Homebrew nicht mehr funktionieren, nachdem ich diese Änderung vorgenommen habe (nämlich das Installieren von nicht standardmäßigen Versionen / Zweigen).
ich Überlegen dass es git config –global url.ssh://[email protected]:.insteadOf sein sollte github.com, weil github [email protected]:/.git mag. (BEARBEITEN git config --global [email protected]:.insteadOf https://github.com/ funktioniert sicher in git 2.7.4.)
– Glen Keane
22. Juni 2016 um 11:51 Uhr
Da ein Kommentar hier Homebrew-Probleme erwähnte, könnte es eine gute Idee sein, sie zu entfernen --global und tun dies auf PR-Repo-Basis.
– Pylinux
27. Juni 2017 um 11:02 Uhr
MoOx
Die Antwort von Trevor ist richtig.
Aber hier ist, was Sie direkt in Ihre hinzufügen können .gitconfig:
+1 für diesen Trick. Es wird auch von den Kernel-Leuten empfohlen. Siehe auch git ziehen auf der Mailingliste für Kernel-Neulinge.
– jww
16. November 2017 um 20:52 Uhr
viel sauberere Lösung – und großartig für gehen Projekte, bei denen “go get” standardmäßig https ist und man URLs stattdessen individuell auf ssh setzen möchte, z. B. für private Repos usw.
– colm.anseo
27. Mai 2018 um 1:23 Uhr
Für Gitlab: [url "ssh://[email protected]/"]insteadOf = https://gitlab.com/ Es gibt auch pushInsteadOf wenn Sie die Push-URL beeinflussen, aber nicht abrufen möchten. Kann benutzen git remote -v um effektive URLs zu inspizieren, die git verwenden wird.
– Beni Cherniavsky-Paskin
10. Juni 2018 um 8:46 Uhr
Dies funktioniert zumindest bei bestehenden Repositories nicht.
– Andreas Köster
4. September 2019 um 17:11 Uhr
rofrol
Sie müssen in ssh klonen, nicht in https.
Dazu müssen Sie Ihre ssh-Schlüssel festlegen. Ich habe dieses kleine Skript vorbereitet, das dies automatisiert:
#!/usr/bin/env bash
email="$1"
hostname="$2"
hostalias="$hostname"
keypath="$HOME/.ssh/${hostname}_rsa"
ssh-keygen -t rsa -C $email -f $keypath
if [ $? -eq 0 ]; then
cat >> ~/.ssh/config <<EOF
Host $hostalias
Hostname $hostname *.$hostname
User git
IdentitiesOnly yes
IdentityFile $keypath
EOF
fi
Möglicherweise haben Sie das Repository versehentlich in https anstelle von ssh geklont. Ich habe diesen Fehler viele Male auf Github gemacht. Stellen Sie sicher, dass Sie beim Klonen zuerst den ssh-Link kopieren, anstatt den https-Link.
Sie müssen eine neue mit dem ssh-Link klonen
– CodenameNull
3. Dezember 2018 um 18:14 Uhr
Sie können auch den Repo-Link von HTTP auf SSH ändern, siehe die anderen Antworten.
– Mike Lyons
30. September 2019 um 17:11 Uhr
bhargav joshi
SSH-Datei
~/.ssh/config file
Host *
StrictHostKeyChecking no
UserKnownHostsFile=/dev/null
LogLevel QUIET
ConnectTimeout=10
Host github.com
User git
AddKeystoAgent yes
UseKeychain yes
Identityfile ~/github_rsa
Ich denke, die Antwort von @ MoOx entspricht wahrscheinlich am ehesten dem, was Sie suchen. Die
insteadOf
trick gibt es seit mindestens 2012. Siehe auch Konvertierengit:
URLs zuhttp:
URLs.– jww
16. November 2017 um 21:02 Uhr