web-dev-qa-db-ger.com

Android Studio - Push fehlgeschlagen: fatal: Lesen aus dem Remote-Repository nicht möglich

Ich habe ein Git-Projekt bei Android Studio und eine Fernbedienung bei BitBucket und habe es geändert, um SSH anstelle von HTTPS zu verwenden. Ich kann alles mit Atlassians SourceTree zum Laufen bringen, aber in Android Studio versuche ich jedes Mal, das Projekt zu pushen 

Push fehlgeschlagen: fatal: Konnte nicht aus dem Remote-Repository lesen.

Hat jemand eine Ahnung, was passieren könnte? 

51
mFeinstein

Dies ist wahrscheinlich ein Intellij-Problem. Ihr Schlüssel wird nativ von ssh verwaltet, und Intellij hat ein eigenes ssh-Programm.

Gehe zu den Einstellungen, suche git-> ssh ausführbar und wähle native

Wie hier zu sehen: git mit IntelliJ IDEA: Konnte nicht aus dem Remote-Repository lesen

68
Nicolas Zozol

Es gibt zwei Möglichkeiten für die Git-SSH-Verifizierung in Android Studio oder IntelliJ, die über folgende Einstellungen geändert werden:

  1. Integriert: bedeutet, dass das in Git zur Authentifizierung eingebaute ssh-Schlüsselpaar verwendet wird. Sie können es über generieren 
    ssh-keygen -t rsa
    Der standardmäßig gespeicherte Pfad ist "~/.ssh/id_rsa" und "~/.ssh/id_rsa.pub" . Sie sollten den öffentlichen Schlüssel in Ihrem BitBucket-Konto hinzufügen. der Pfad wie: Konto verwalten - SSH-Schlüssel - Schlüssel hinzufügen
  2. Nativ: bedeutet, dass das ssh-Paar verwendet wird, das vom nativen Repository-Hosting-Service generiert wird, z. B. BitBucket oder GitHub, das im Service-Konto häufig automatisch hinzugefügt wird. Zum Beispiel in GitHub. Es erzeugte ein Paar SSH-Schlüssel, "~/.ssh/github_rsa.pub" und "~/.ssh/github_rsa", und der öffentliche Schlüssel wurde möglicherweise über GitHub GUI in meinem Konto automatisch hinzugefügt. Ändern Sie also die ausführbare SSH-Datei in "Native". Dies könnte ein einfacher Weg sein.

Auf jeden Fall können Sie beide Methoden verwenden, nachdem Sie den korrekten öffentlichen Schlüssel in Ihrem Account in den Repository-Hosting-Service eingefügt haben.

17
Joe Wang

Gehen Sie zu Einstellungen> Versionskontrolle> Git. Stellen Sie sicher, dass die SSH-Programmdatei auf "Native" gesetzt ist.

Wenn es bereits eingestellt ist, wechseln Sie wieder zu "Built-in", wenden Sie es an und wechseln Sie dann wieder zu "Native".

 enter image description here

17
Stas

Obwohl meine SSH-ausführbare Datei auf Native gesetzt war, wurde diese Fehlermeldung angezeigt, weil ich das Kennwort für die SSH-Schlüsseldatei festgelegt habe.

Ich habe nicht gefunden, wie man ein Passwort in Android Studio angibt, aber es gibt noch eine andere solution. Sie können das Passwort entfernen, das mit $ ssh-keygen -p ausgeführt werden kann. Dann bestätigen Sie einfach den Speicherort der Datei, geben Sie Ihr altes Passwort ein und lassen Sie das neue Passwort leer.

Entgenommen aus Wie entferne ich die Passphrase für den SSH-Schlüssel, ohne einen neuen Schlüssel erstellen zu müssen?

4
Lemberg

Gehen Sie zu github.com, öffnen Sie Ihr Repository und kopieren Sie die USE HTTPS-URL Wechseln Sie in Ihr Android-Projektverzeichnis. Suchen Sie im .git-Ordner nach der Konfigurationsdatei.

Ändern Sie in der Konfigurationsdatei die URL, die Sie von github.com kopiert haben (verwenden Sie https), mit der vorherigen URL . Speichern Sie die Konfigurationsdatei und drücken Sie erneut . Dies hat für mich funktioniert.

1
taimoorAshfaq

Ich hatte ein ähnliches Problem in Android Studio 3.1

Ich habe Einstellungen> Versionskontrolle> Git> SSH-Programmdatei geändert from Built-in in Native wie hier vorgeschlagen, aber es hat nicht geholfen.

Dann habe ich Android Studio auf 3.2 aufgerüstet und wieder auf Built-in umgestellt. In meinem Fall wurde das Problem behoben.

0

Ich habe das gleiche Problem. Es stellt sich heraus, wie wichtig es ist, wie Sie Android Studio ausführen. Wenn Sie es mit normalen Privilegien von Terminal oder sth ausführen, kann es keine lokalen Dateien lesen, die für das Repository erforderlich sind. 

Lösung Vielleicht ist nur ein Neustart von Android Studio mit mehr Berechtigungen möglich, als es derzeit hat.

0
mdzeko

Ich bin diesem Problem begegnet und habe es schließlich gelöst. Und es gibt zwei wichtige Punkte für die Einstellung: Im Android-Studio: Datei-Einstellungen-GitHub: Wählen Sie "Klonen von Git-Repositories mit ssh" nicht -in "für" SSH ausführbar "

und für die SSH, die ich bereits im Konto von GitHub habe, ist die eine, die ich im Android-Studio habe. Ich vergesse, wie man die SSH im Android-Studio findet

0
EXEEE

Wenn das Ändern von Preferences> Version Control> Git> SSH executable from Built-in zu Native nicht funktioniert, deaktivieren Sie bitte Preferences> Versionskontrolle> GitHub> Git-Repositories mit ssh klonenCHECK IT

0
Atul Bahuguna

Ich bin selbst darauf gestoßen und habe festgestellt, dass die vorhandenen Antworten etwas unvollständig waren. 

tl; dr: Wenn Sie den SSH-Client von Android Studio/IntelliJ von integriertem auf nativen Server umstellen, wird das Problem möglicherweise für Sie gelöst (dies war für mich der Fall).

Android Studio (eigentlich eine spezialisierte IntelliJ IDEA) wird mit einem eigenen integrierten SSH-Client geliefert. Sie können jedoch auf native (plattform-/betriebssystemabhängig) wechseln, wenn Sie dies vorziehen. Sie können dies ändern, indem Sie Ihre Android Studio-Optionen öffnen, nach 'git' suchen und in der Dropdown-Liste der ausführbaren SSH-Dateien 'native' auswählen.

In meinem Fall konnte ich nicht über Android Studio zu BitBucket pushen, aber git Push hat gut funktioniert. Die Umstellung auf native (in meinem Fall OSX SSH) hat das Problem behoben - jetzt kann ich von Android Studio aus auf BitBucket umstellen.

Andere Antworten berührten das Thema, aber es scheint eine Mischung aus ausführbaren SSH-Dateien und den verwendeten Schlüsseln zu geben.

Pro Android Studio-Hilfe unter SSH Executable:

  • Integriert: Wählen Sie diese Option aus, um die von IntelliJ IDEA bereitgestellte Implementierung zu verwenden.
  • Nativ: Wählen Sie diese Option aus, um die native Implementierung zu verwenden.
0
Clay H