fatal: scheint kein Git-Repository zu sein


83

Warum erhalte ich diesen Fehler, wenn meine Git-Repository-URL korrekt ist?

jitendra@JITENDRA-PC /c/mySite (master)
$ git push beanstalk master
fatal: 'git@skarp.beanstalkapp.com/gittest.git' does not appear to be a git repository
fatal: The remote end hung up unexpectedly

jitendra@JITENDRA-PC /c/mySite (master)
$ git clone git://github.com/jquery/jquery.git
Cloning into jquery...
Remote: Counting objects: 19803, done.
Remote: Compressing objects: 100% (5196/5196), done.
Remote: Total 19803 (delta 14204), reused 19549 (delta 14052)
Receiving objects: 100% (19803/19803), 12.80 MiB | 591 KiB/s, done.
Resolving deltas: 100% (14204/14204), done.

jitendra@JITENDRA-PC /c/mySite (master)
$ gitk --all

jitendra@JITENDRA-PC /c/mySite (master)
$ gitk -all

jitendra@JITENDRA-PC /c/mySite (master)
$ git remote add origin git@skarp.beanstalkapp.com/gittest.git

jitendra@JITENDRA-PC /c/mySite (master)
$ git push origin master
fatal: 'git@skarp.beanstalkapp.com/gittest.git' does not appear to be a git repository
fatal: The remote end hung up unexpectedly

jitendra@JITENDRA-PC /c/mySite (master)

Bearbeiten: Original- Screenshot ersetzt

BEARBEITEN:

fatal: 'git@skarp.beanstalkapp.com/gittest.git' does not appear to be a git repository
fatal: The remote end hung up unexpectedly

Bist du sicher, dass es in Ordnung ist? Können Sie von gettest.git klonen? Im obigen Beispiel klonen Sie eine weitere Abfrage.
Preet Sangha

Ich möchte meinen lokalen Ordner + Dateien zu meinem Git-Hosting hinzufügen
Jitendra Vyas

27
Zum späteren Nachschlagen fügen Sie bitte Text in Fragen ein - als Text. Das Bild des Textes wird offline geschaltet, und selbst wenn dies nicht der
Fall ist

Antworten:


85

Sie haben die Syntax für die scpArt und Weise, ein Repository etwas falsch anzugeben - es muss sein:

[user@]host.xz:path/to/repo.git/

... wie Sie in der Dokumentation zum Git-Klon sehen können . Sie sollten stattdessen die URL verwenden:

git@skarp.beanstalkapp.com:/gittest.git

dh in der URL, die Sie verwenden, haben Sie den :(Doppelpunkt) verpasst

So aktualisieren Sie die URL für den Ursprung:

git remote set-url origin git@skarp.beanstalkapp.com:/gittest.git

1
Vielen Dank . aber warum bekam ich dann keinen Fehler, als ich remote hinzufügte
Jitendra Vyas

Jetzt habe ich versucht, git@skarp.beanstalkapp.com:/gittest.gitaber Fehler bekommenremote origin already exists
Jitendra Vyas

3
Sie können die Ursprungsfernbedienung zuerst mit entfernen git remote rm originund dann erneut hinzufügen. Bei Ihrem ersten Push möchten Sie möglicherweise den -uParameter (dh git push -u origin master) hinzufügen, wenn Sie möchten, masterdass in diesem Repository Ihr Standard-Upstream für Ihr Repository ist master.
Mark Longair

Entfernen und erneutes Hinzufügen funktionierte. ohne -u. Vielen Dank. Ich bin sehr neu in der Versionskontrolle, wenn ich zum ersten Mal eine Versionskontrolle verwende.
Jitendra Vyas

Sie können auch die Datei ".git / config" bearbeiten und die URL in [remote "origin"]
aktualisieren

26

Ich habe ein ähnliches Problem Ubunt Onefestgestellt, als ich versucht habe, mein vorhandenes Repo in meinem Konto zu speichern. Ich habe es durch die folgenden Schritte behoben:

Schritt 1: Erstellen Sie ein Remote-Repo

$ cd ~/Ubuntu\ One/
$ mkdir <project-name>
$ cd <project-name>
$ mkdir .git
$ cd .git
$ git --bare init

Schritt 2: Fügen Sie die Fernbedienung hinzu

$ git remote add origin /home/<linux-user-name>/Ubuntu\ One/<project-name>/.git

Schritt 3: Schieben Sie den vorhandenen Git Reop auf die Fernbedienung

$ git push -u origin --all

18

Dies liegt normalerweise daran, dass Sie den Ursprungsalias in Ihrem Git-Repository nicht festgelegt haben.

Versuchen

git remote add origin URL_TO_YOUR_REPO

Dadurch wird in Ihrer .git/configDatei ein Alias für die URL der Remote-Klon- / Push- / Pull-Site hinzugefügt. Diese URL finden Sie auf Ihrer Repository-Übersichtsseite.


5

Meine lokalen und Remote-Computer sind beide OS X. Ich hatte Probleme, bis ich die Dateistruktur des Git-Repos überprüfte, das mir xCode Server zur Verfügung stellt. Im Wesentlichen ist in diesem Repo alles chmod 777 *. Um ein separates Nicht-xCode-Repo auf demselben Computer in meinem Remote-Konto dort einzurichten, habe ich Folgendes getan:

FERNMASCHINE

  1. Melde dich in deinem Konto an
  2. Erstellen Sie ein Master-Verzeichnis für alle Projekte 'mkdir git'
  3. chmod 775 git dann cd hinein
  4. Erstelle einen Projektordner 'mkdir project1'
  5. chmod 777 project1 dann cd hinein
  6. Führen Sie den Befehl 'git init' aus, um das Repo zu erstellen
  7. Dadurch wird ein .git-Verzeichnis erstellt. Befehl 'chmod 777 .git' und dann CD hinein
  8. Führen Sie den Befehl 'chmod 777 *' aus, um alle Dateien in .git 777 mod zu erstellen
  9. cd zurück zu myproject1 (cd ..)
  10. Richten Sie eine Testdatei im neuen Repo mit dem Befehl 'touch test.php' ein.
  11. Fügen Sie es mit dem Befehl 'git add test.php' zum Repo-Staging-Bereich hinzu.
  12. Führen Sie den Befehl "git commit -m 'neue Datei'" aus, um eine Datei zum Repo hinzuzufügen
  13. Führen Sie den Befehl 'git status' aus und Sie sollten die Meldung "working dir clean" erhalten
  14. cd zurück zum Master-Verzeichnis mit 'cd ..'
  15. Erstellen Sie im Master-Verzeichnis einen Symlink 'ln -s project1 project1.git'.
  16. Führen Sie den Befehl 'pwd' aus, um den vollständigen Pfad zu erhalten
  17. In meinem Fall war der vollständige Pfad "/Users/myname/git/project1.git".
  18. Notieren Sie den vollständigen Pfad für die spätere Verwendung in der URL
  19. Verlassen Sie die FERNMASCHINE

LOKALE MASCHINE

  1. Erstellen Sie einen Projektordner irgendwo 'newproj1' mit 'mkdir newproj1'.
  2. CD hinein
  3. Führen Sie den Befehl 'git init' aus.
  4. Machen Sie einen Alias ​​für die FERNMASCHINE
  5. Das Alias-Befehlsformat lautet "git remote add your_alias_here URL".
  6. Stellen Sie sicher, dass Ihre URL korrekt ist. Dies verursachte mir anfangs Kopfschmerzen
  7. URL = 'ssh: //user@www.somemachine.com/Users/myname/git/project1.git'
  8. Nachdem Sie 'git remote' Alias-URL hinzugefügt haben 'do' git remote -v '
  9. Der Befehl sollte mit einer Abruf- und Push-Zeile antworten
  10. Führen Sie cmd 'git pull your_alias master' aus, um test.php von REMOTE repo abzurufen
  11. Nach dem Befehl in # 10 sollten Sie eine nette Nachricht sehen.
  12. Führen Sie den Befehl 'git push --set-upstream your_alias master' aus.
  13. Nach dem Befehl in 12 sollten Sie eine nette Nachricht sehen
  14. Befehl in # 12 richtet REMOTE als Projektmaster ein (root)

Für mich habe ich gelernt, einen sauberen Start mit einem Git-Repo auf einem LOCAL zu bekommen, und REMOTE erfordert zuerst alle anfänglichen Arbeiten in einer Shell. Danach konnte ich die Git-Repos LOCAL und REMOTE in meiner IDE einfach einrichten und alle grundlegenden Git-Befehle über die GUI der IDE ausführen.

Ich hatte Schwierigkeiten, bis ich zuerst an der Fernbedienung anfing, dann die lokale und bis ich alle Berechtigungen auf der Fernbedienung öffnete. Darüber hinaus war es für den Erfolg entscheidend, den genauen vollständigen Pfad in der URL zum Symlink zu haben.

Auch dies funktionierte auf OS X, lokalen und Remote-Computern.


Vielen Dank dafür! Ich hatte Probleme mit meinen Verzeichnisberechtigungen und es dauerte ewig, bis ich einen Beitrag gefunden hatte, in dem sie tatsächlich aufgelistet waren!
Mike

Punkt 7 für LOKALE MASCHINE fehlt auch der Doppelpunkt ... nicht sehr hilfreich: p
Carlo Wood

1

Ich hatte ein ähnliches Problem bei der Verwendung von TFS 2017. Ich konnte keine GIT-Repositorys verschieben oder abrufen. Schließlich habe ich TFS 2017 neu installiert und sichergestellt, dass ich TFS 2017 mit einem anderen SSH-Port als 22 installiert habe (in meinem Fall habe ich 8022 gewählt). Danach wurde Push and Pull gegen TFS mit SSH möglich.


1

Es ist sehr wahrscheinlich, dass Sie die SSH-URL Ihres Repos falsch angegeben haben.

Um dies zu bestätigen, gehen Sie zu Ihrem Repository auf Github und klicken Sie auf clone or download button. Klicken Sie dann auf den use SSHLink.

SSH-Link

Kopieren Sie nun den SSH-Link Ihres offiziellen Repos. Meins sah so aus -git@github.com:borenho/que-ay.git

Sie können jetzt tun, git remote add origin git@github.com:borenho/que-ay.gitwenn Sie noch nicht hatten origin.

Wenn Sie zuvor eingestellt originhatten, ändern Sie es mitgit remote set-url origin git@github.com:borenho/que-ay.git

Jetzt mit drücken git push -u origin master


0

Ich habe ein ähnliches Problem, aber jetzt kenne ich den Grund.

Nach der Verwendung git initsollten wir mithilfe von ein Remote-Repository hinzufügen

git remote add name url

Achten Sie auf das Wort name. Wenn wir es ändern, origintritt dieses Problem nicht auf.

Natürlich, wenn wir es zu ändern py, dann verwenden git pull py branchund git push py branchjedes Mal , wenn Sie ziehen und schieben etwas auch in Ordnung sein.


1
Vielen Dank für die Mühe, Ihr Wissen zu teilen, aber dies ist im Fall des OP nicht ganz der Fall. Die Frage ist sehr unterschiedlich.
Shahbaz

Beachten Sie, dass diese frühere Antwort bereits besagt, dass die fehlende Remote-URL hinzugefügt werden soll.

0

Ich hatte das gleiche Problem mit meinem Feature-Zweig. Ich habe die oben genannte Lösung ausprobiert, nichts hat funktioniert. Ich habe dieses Problem gelöst, indem ich folgende Dinge getan habe.

  • Git Pull Origin Feature-Branch-Name
  • Git Push
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.