621 Stimmen

git: fatal: Konnte nicht vom entfernten Repository lesen

Ich versuche, Git einzurichten mit http://danielmiessler.com/study/git/#website um meine Website zu verwalten.

Ich bin beim letzten Schritt der Anleitung angelangt: git push website +master:refs/heads/master

Ich verwende die git ming32-Befehlszeile unter Win7

$ git push website +master:refs/heads/master
Bill@***.com's password:
Connection closed by 198.91.80.3
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

Ein Problem könnte sein, dass das Programm nach Bill@***.com sucht. Wenn ich mich über ssh mit meiner Website verbinde, habe ich einen anderen Benutzernamen (sagen wir mal 'abc'), also sollte es vielleicht abc@***.com sein. Wenn ja, weiß ich nicht, wie ich das ändern kann oder ob ich unter einem Alias pushen kann.

3voto

M. Hamza Rajput Punkte 5219

Mein Problem wurde mit den folgenden Befehlen unter Windows 11 behoben

1. Ich öffnete den Befehl Git Bash und startete ssh-agent.

eval "$(ssh-agent -s)" // this command only work in git bash.

2. Hinzugefügt von ssh-key

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"  //it must be 4096
ssh-add id_rsa

3. Prüfen Sie, ob sie ordnungsgemäß hinzugefügt wurden oder nicht.

ssh-add -l

4. Hochladen des öffentlichen Schlüssels auf GitHub als (Autorisierungsschlüssel)

cat id_rsa.pub | clip

5. Deaktivieren Sie alle Proxy- und GIT_SSH-Variablen

unset GIT_SSH
git config --global --unset http.proxy
git config --global --unset https.proxy

6. Muss überprüfen github.com sollte gelöst werden.

ping github.com

7. Prüfen Sie nun die Konnektivität mit Github.

ssh -T git@github.com

Ausgabe

Die Authentizität des Hosts 'github.com (20.207.73.82)' kann nicht überprüft werden. festgestellt werden. Der Fingerabdruck des Schlüssels ED25519 lautet SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Dieser Schlüssel ist nicht bekannt Sind Sie sicher, dass Sie die Verbindung fortsetzen möchten? (ja/nein/[Fingerabdruck])? ja Warnung: Dauerhaft hinzugefügt 'github.com' (ED25519) zu der Liste der bekannten Hosts hinzugefügt. Hallo MHamzaRajput! Du hast erfolgreich authentifiziert, aber GitHub bietet keinen Shell-Zugang.

2voto

Ben Butterworth Punkte 12847

Das ist nicht das Problem des Auftraggebers, aber wenn Sie in einem GitHub Organisation/Team haben Sie möglicherweise keine Schreibrechte für das Repository. Leider zeigt Git keine spezifischeren Berechtigungsfehler an. In meinem Fall arbeitete ich an einem privaten Repository und hatte "Triage"- oder "Read"-Zugriff.

Weitere Informationen zum Repository-Zugriff für jede Berechtigungsstufe finden Sie unter GitHub-Dokumentation .

Der Link, um dies auf GitHub zu ändern, lautet https://github.com/orgs/ORGANISATION_NAME/teams/TEAM_NAME/repositories wo Sie die dem Team erteilten Berechtigungen ändern können.

Screenshot of github organisation's team's repository's tab

2voto

wizardInCloud Punkte 129

Eigentlich habe ich versucht, eine Menge Dinge, damit es auf Win7, seit der Änderung der SSH exectun fron nativen zu bauen-it und umgekehrt und den gleichen Fehler. Durch Zufall, ändere ich es zu HTTPS in der ".git/config" Datei als:

[remote "origin"]
        url = https://github.com/user_name/repository_name.git
        fetch = +refs/heads/*:refs/remotes/origin/*

und es hat endlich funktioniert. Vielleicht klappt es ja auch bei Ihnen.

2voto

Jean-Luc Barat Punkte 1047

Ich hatte das gleiche Problem und nach einer Weile sah ich, dass ich als Root-Benutzer angemeldet bin (mit sudo -s). Vielleicht hilft dies für jemanden.

2voto

wenwen Punkte 174

In meinem Fall verwende ich ein Unternehmensnetzwerk (ohne Internetverbindung) im Büro. Um Code von Github zu ziehen, setze ich https proxy in Gitbash und verwende dann https anstelle von ssh, um Code zu ziehen, es funktioniert gut. Wenn es jedoch darum geht, Code zu pushen, funktioniert der https-Proxy nicht. Also entweder wechseln Sie zu Internet-Netzwerk (mit Internet-Verbindung) oder setzen ssh-Proxy kann das Problem lösen.

CodeJaeger.com

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.

Powered by:

X