Ich verwende TortoiseGit unter Windows. Wenn ich versuche, über das Kontextmenü des Standard-Windows-Explorers zu klonen, wird folgende Fehlermeldung angezeigt:
Stellen Sie sicher, dass Sie über die richtigen Zugriffsrechte verfügen und das Repository vorhanden ist
Genauer gesagt ist der Schnappschuss des Terminals der folgende:
git.exe-Klon --progress -v "git @ arobotdev: \ git \ AlfaRobot.git" "C: \ Work \ AlfaRobot"
Klonen in 'C: \ Work \ AlfaRobot' ...
Berechtigung verweigert, bitte versuchen Sie es erneut.
Zugang verweigert, versuche es bitte erneut.
Berechtigung verweigert (publickey, Passwort).
fatal: Konnte nicht aus dem Remote-Repository lesen.
Stellen Sie sicher, dass Sie über die richtigen Zugriffsrechte verfügen
und das Repository vorhanden ist.
git wurde nicht sauber beendet (Exit-Code 128) (21450 ms @ 19.09.2014 10:36:58)
Was soll ich tun, damit Git richtig funktioniert?
quelle
$ ssh-keygen -t rsa -C "[email protected]"
Antworten:
Ihre Git-URL hat sich möglicherweise geändert. Ändern Sie die URL im lokalen Verzeichnis mit dem folgenden Befehl
quelle
git remote set-url origin https://github.com/username/repository.git
git
undhttps
.XXXXXXX
?xclip -sel clip < ~/.ssh/id_rsa.pub
, aber beim Einfügen in das Eingabefeld für den Github-Schlüssel habe ich die letzte neue Zeile mit der Rücktaste entfernt, wodurch der öffentliche Schlüssel tatsächlich geändert wurde. Kopieren Sie also den öffentlichen ssh-Schlüssel immer so wie er ist, ohne den letzten Zeilenumbruch zu entfernen.Dieses Problem kann bei Ihrem SSH-Agenten auftreten. Ihr SSH-Schlüssel wurde nicht mit SSH-Agent hinzugefügt. Sie müssen die folgenden Schritte mit Ihrem Terminal ausführen: -
$ eval "$ (ssh-agent -s)"
Agent pid 5867
$ ssh-add
Geben Sie die Passphrase für /home/you/.ssh/id_rsa ein: [] Identität hinzugefügt: /home/you/.ssh/id_rsa (/home/you/.ssh/id_rsa)
dann wird es funktionieren..cheers J.
quelle
fatal: Could not read from remote repository.
brew update
. Als ich lief,ssh-add
bevor ich den Befehl ausführte, funktionierte es. Ich hoffe, ich muss das nicht die ganze Zeit wiederholen.Versuchen Sie, HTTPS anstelle von SSH zu verwenden, während Sie den Klon von GIT übernehmen. Verwenden Sie diese URL zum Klonen. Sie können Gitbase, Android Studio oder ein anderes Tool zum Klonen des Zweigs verwenden.
quelle
Für mich lag es daran, dass kein SSH-Schlüssel auf der Maschine vorhanden war. Überprüfen Sie den SSH-Schlüssel lokal:
Dies ist Ihr SSH-Schlüssel. Fügen Sie es Ihren SSH-Schlüsseln im Repository hinzu.
In gitlab gehe zu
und fügen Sie den Schlüssel hinzu
quelle
Github verwendet jetzt ein URL-Schema
git remote set-url origin https://github.com/username/repository.git
quelle
Sie versuchen, das Repository über ssh: zu klonen
git@arobotdev...
, und Ihre SSH-Schlüssel sind auf dem Server nicht richtig festgelegt. Dafür gibt es mehrere Gründe:Wenn alle drei oben
git@arobotdev:AlfaRobot.git
genannten Punkte nicht wahr sind , kann meine einzige Schlussfolgerung darin bestehen, Folgendes zu versuchen: Angenommen, AlfaRobot.git befindet sich in HOMEDIR des Git-Benutzers und nicht in einem Ordner namens git, der sich in HOMEDIR des Benutzers git befindet.quelle
Die rsa.pub (dh der generierte öffentliche Schlüssel) muss auf der Seite github >> settings >> ssh keys hinzugefügt werden. Stellen Sie sicher, dass Sie diesen öffentlichen Schlüssel nicht in den Repository-Einstellungen >> Bereitstellungsschlüssel hinzugefügt haben. Wenn ja, entfernen Sie den Eintrag von hier und fügen Sie ihn an der ersten Stelle hinzu.
Einrichtung der pub-privaten Schlüssel im Detail .
Es wird also funktionieren!
quelle
Das erste, was Sie bestätigen möchten, ist die Internetverbindung. Internet-Probleme besagen jedoch meistens, dass auf das Repo nicht zugegriffen werden kann.
Stellen Sie sicher, dass Sie ssh sowohl lokal als auch auf Ihrem Github eingerichtet haben. Sehen Sie wie
Stellen Sie sicher, dass Sie die ssh git-Fernbedienung verwenden. Wenn Sie das https geklont haben, setzen Sie die URL einfach mit diesem git-Befehl auf die ssh-URL
git remote set-url origin [email protected]:your-username/your-repo-name.git
Wenn Sie ssh ordnungsgemäß eingerichtet haben, es aber gerade nicht mehr funktioniert, gehen Sie wie folgt vor:
eval "$(ssh-agent -s)"
ssh-add
Wenn das Problem weiterhin besteht, stellen Sie sicher, dass Sie das SSH nicht aus Ihrem Github gelöscht haben. In einem Fall, in dem das SSH aus Github gelöscht wurde, können Sie es wieder hinzufügen. Verwenden
pbcopy < ~/.ssh/id_rsa.pub
Sie diese Option, um den SSH-Schlüssel zu kopieren. Wechseln Sie dann zu Ihrer Github-SSH-Einstellung und fügen Sie sie hinzu.quelle
Ich hatte dieses Problem und stelle fest, dass mein System eine falsche DNS-Adresse hatte. Überprüfen Sie Ihr Netzwerk und testen Sie mit
Und lesen Sie die Ausgabenachrichten. Wenn Sie sehen "Sie können git oder hg verwenden, um eine Verbindung zu Bitbucket herzustellen." , alles ist ok.
quelle
Ein alternatives Problem kann Ihre Internetverbindung sein. Offensichtlich vielleicht, aber ich habe ein paar Minuten gebraucht, um herauszufinden, dass mein WLAN nicht funktioniert hat :)
quelle
So löse ich dieses Problem. Ich habe Babun (mintty.exe) unter Win7 / 10 verwendet. Wenn ich viele der oben genannten Lösungen ausprobiert habe und keine davon funktioniert. Mir wurde klar, dass ich vielleicht nur einen falschen SSH-Agenten verwendet habe ... Also renne ich
echo $GIT_SSH
, um herauszufinden, es zeigt den Weg zuPlink.exe
. Was ich eigentlich erwartet habe, ist OpenSSH.Also füge ich der
~/.zshrc
Datei folgenden Einzeiler hinzuUnd es funktioniert!
quelle
.get/config
Fügen Sie diese Zeilen zu Ihrer Datei hinzu (dank @kovshenin Antwort Git Pull: Authentifizierung ändern ):quelle
Versuchen Sie https anstelle von ssh. Wählen Sie auf der Projekthomepage die Option https, von der Sie die Klon-URL kopieren.
quelle
Wenn es vorher funktioniert hat und plötzlich aufgehört hat zu funktionieren:
Dieses Problem kann verursacht werden, da
ssh-agent
es bei Neustarts manchmal nicht dauerhaft ist. Sie sollten überprüfen, obssh-agent
Ihr Schlüssel hinzugefügt wurde:Wenn Sie die Ausgabe erhalten wie:
es bedeutet, dass Sie
ssh-agent
Ihren Schlüssel verloren haben. In diesem Fall müssen Sie lediglich den Identitätsschlüssel erneut hinzufügen. Etwas wie:Der Fehler sollte jetzt verschwinden!
quelle
git_rsa
in die Liste einDies kann auch passieren, wenn Sie über ein VPN eine Verbindung zu Ihrem Git-Repository herstellen. Stellen Sie sicher, dass Sie mit dem VPN verbunden sind, mit dem Sie auf die Ressourcen Ihrer Organisation zugreifen.
quelle
Beim Hochladen des Projekts auf gitlab ist dieser Fehler aufgetreten. Ich habe nicht von git geklont, sondern stattdessen ein Projekt hochgeladen. Um Ihren Code an gitlab zu senden, haben Sie zwei Möglichkeiten, entweder ssh oder https. Wenn Sie https verwenden, müssen Sie den Benutzernamen und das Passwort des Gitlab-Kontos eingeben. Um Ihren Code an Git zu senden, können Sie den folgenden verwenden.
Zum ersten Mal auf Git pushen
Der Parameter -C ist optional. Er enthält einen Kommentar am Ende Ihres Schlüssels, um ihn von anderen zu unterscheiden, wenn Sie mehrere haben. Dadurch werden id_rsa (Ihr privater Schlüssel) und id_rsa.pub (Ihr öffentlicher Schlüssel) erstellt. Wir geben unseren öffentlichen Schlüssel weiter und behalten unseren privaten Schlüssel - na ja, privat. In den Benutzereinstellungen von Gitlab können Sie dann Ihren öffentlichen Schlüssel zu Ihrem Konto hinzufügen , damit wir ihn endgültig pushen können.
Verwenden Sie in Ihrem Projektspeicherort (Verzeichnis) den folgenden Befehl
Es transformiert das aktuelle Verzeichnis in ein Git-Repository. Dies fügt dem aktuellen Verzeichnis ein .git-Unterverzeichnis hinzu und ermöglicht das Aufzeichnen von Revisionen des Projekts.
Drücken Sie mit https-Pfad
Drücken Sie mit SSH-Pfad
- set-upstream: teilt git den Pfad zum Ursprung mit. Wenn Git zuvor auf Ihren aktuellen Zweig geschoben hat, merkt es sich, wo der Ursprung liegt
master : Dies ist der Name des Zweigs, an den ich beim Initialisieren senden möchte
quelle
Wie bei anderen Antworten war die Verwendung
https
anstelle vonssh
die Lösung.Ich poste eine Antwort, um ein konkretes Beispiel für eine mögliche Lösung zu geben. Ich habe dieses Problem mit bitbucket gelöst, als ich die Remote-URL mit dieser Befehlszeile in HTTPS geändert habe:
Danach konnte ich den Inhalt mit diesem Befehl in das Repository verschieben:
Und dann könnte ich auch Sourcetree verwenden
quelle
Seltsamerweise habe ich diesen Fehler nur in einem meiner vielen Repos erhalten.
Mein Problem war nach der Installation des neuen GitHub Desktop für Windows, in dem der vorherige alte GitHub für Win Schlüssel aufbewahrt hat
~/.ssh/github_rsa
und~/.ssh/github_rsa.pub
in dem der neue GitHub für Win dies erwartet,~/.ssh/id_rsa
sodass die Lösung nur die vorhandenen privaten und öffentlichen Schlüssel umbenannte:Danach kann ich ohne Probleme wieder auf das Repo zugreifen.
quelle
Verwenden Sie Ihren https-Ursprung anstelle der SSH-URL
Beispiel:
quelle
Ich benutze Ubuntu
nach vielen Antworten zu lesen, keiner von ihnen kann das Problem lösen, auch wenn ich schon SSH Schlüssel zu meinem git Konto hinzugefügt, und versucht Test es mit
ssh -T [email protected]
und es wird gesagtWelcome <my username>
, aber es hielt mir immer noch nicht sagen , Zugriffsrechte haben. Dann fand ich den Grund ist:Wenn Sie kein
root
Benutzer sind, müssen Sie normalerweise mit ausführensudo
für jeden git-Befehl .beim Laufen
sudo git clone <SSH....>
(zum Beispiel). Es wird mitroot
Erlaubnis ausgeführt, aber versehentlich, wenn ich einen SSH-Schlüssel erstelle, führe ich ihn als normalen Benutzer aus und speichere den Schlüssel~/.ssh/id_rsa
darin. Der absolute Pfad wird aufgelöst/home/username/.ssh/id_rsa
. Und dabeisudo git clone ...
wird nach SSH gesucht/root/.ssh/id_rsa
Warum kann ich mir da sicher sein? Um zu sehen, wo Git nach Ihrem SSH-Schlüssel sucht. Führen Sie diesen Befehl aus :
sudo GIT_TRACE=1 GIT_SSH_COMMAND="ssh -vvv" git clone <your repository in SSH>
. Es zeigt Ihnen, wo es nach Ihrem SSH-Schlüssel sucht.Die von mir vorgeschlagene LÖSUNG lautet also:
Erstellen Sie Ihren SSH-Schlüssel neu (folgen Sie dieser Anweisung ), ABER führen Sie ihn
sudo su
im ersten Schritt aus, dann sollte es Ihnen gut gehen.quelle
Das Hinzufügen des SSH-Schlüssels hat bei mir funktioniert. Sie können den ssh-Schlüssel mit dem Befehl ssh-keygen auf dem Mac erstellen. Sie sollten in der Lage sein, das Menü Schlüssel bereitstellen unter YourRepository> Einstellungen zu sehen. Vergessen Sie nicht, die Option Schreibzugriff zulassen zu aktivieren.
Screenshot des Menüs "Schlüssel bereitstellen"
quelle
Sehr häufiger Fehler wurde von mir gemacht. Ich habe mit dem Befehl clip kopiert
xclip -sel clip < ~/.ssh/id_rsa.pub
, aber beim Einfügen in das Eingabefeld für den Github-Schlüssel habe ich die letzte neue Zeile mit der Rücktaste entfernt, wodurch der öffentliche Schlüssel tatsächlich geändert wurde.Kopieren Sie also den öffentlichen ssh-Schlüssel immer so wie er ist, ohne den letzten Zeilenumbruch zu entfernen.
quelle
Für mich hatte ich ein Problem mit dem Firmen-VPN, nachdem die Verbindung funktioniert hatte.
Überprüfen Sie die Verbindung mit Github mit dem Befehl
ssh -vvvT [email protected]
quelle
Der Wechsel zur Verwendung von https funktioniert. Wechseln Sie zuerst zu https anstatt zu ssh-Schlüsseln. Git Remote Set-URL Ursprung
Es wird dann nach dem Git-Benutzernamen und dem Passwort gefragt.
quelle