Push-Origin-Master-Fehler im neuen Repository


181

Ich habe gerade angefangen, Git mit Github zu verwenden. Ich folgte ihren Anweisungen und stieß beim letzten Schritt auf Fehler. Ich checke in ein vorhandenes Verzeichnis ein, das derzeit nicht quellengesteuert ist (Projekt ungefähr eine Woche alt). Davon abgesehen sollte mein Anwendungsfall ziemlich normal sein.

Folgendes passiert:

$ git push origin master
error: src refspec master does not match any.
fatal: The remote end hung up unexpectedly
error: failed to push some refs to 'git@github.com:{username}/{projectname}.git'

Githubs Anweisungen:

Global setup:

  Download and install Git
  git config --global user.name "Your Name"
  git config --global user.email {username}@gmail.com

Next steps:

  mkdir projectname
  cd projectname
  git init
  touch README
  git add README
  git commit -m 'first commit'
  git remote add origin git@github.com:{username}/{projectname}.git
  git push origin master

4
Es scheint, dass das anfängliche Commit aus irgendeinem Grund nicht funktioniert hat. Mit dem Git-Protokoll konnte ich feststellen, ob das Commit funktioniert. Ich habe es am nächsten Tag erneut versucht. Vielen Dank!
Sutee

1
Wenn Sie keine Dateien hinzufügen, git init festschreiben oder ausführen, treten immer solche Probleme auf. Führen Sie daher immer aus, git statusum festzustellen, ob alles in Ordnung ist.
Raduken

ähnlicher Fehler beim Erstellen eines Zweigs zu einem neu erstellten Git-Repository aus vorhandenem Code. Der Fehler wurde durch Klonen des Git-Repositorys behoben.
Benutzer553620


Mögliches Duplikat des Fehlers beim "Git Push" auf Github .

Antworten:


137

Die Fehlermeldung führt zu dem Schluss, dass Sie keinen masterZweig in Ihrem lokalen Repository haben. Schieben Sie entweder Ihren Hauptentwicklungszweig ( git push origin my-local-master:masterder ihn masterauf Github umbenennt ) oder machen Sie zuerst ein Commit. Sie können kein vollständig leeres Repository pushen.


10
Ich hatte das Problem "leeres Repository", da in dem von GitHub ( beans.seartipy.com/2008/12/09/… ) referenzierten Handbuch der Befehl "git commit -m 'first commit'" nicht erwähnt wurde. Sobald ich das benutzt habe, war alles in Ordnung!
Pascal Lindelauf

3
Ich hatte gerade vergessen, meine Änderungen zu übernehmen.
Nick Josevski

Wenn Sie sagen, git push origin my-local-master:masterwas bedeutet das my-local-master? Wenn ich einen Namen von CSS-pix meines Ordners habe, den ich pushen möchte
Nofel

187

Ich hatte das gleiche Problem und schlug mir dann in den Kopf, weil ich meine Projektdateien nicht wirklich hinzugefügt hatte.

git add -A
git commit -am "message"
git push origin master

Ja, ich hatte Folgendes versucht, aber die Lösung für mich bestand darin, stattdessen Ihren Befehl zu verwenden: git add * Die richtige Syntax war: git add.
Eric Martindale

5
Hab das GLEICHE getan ... jeesh. Vielen Dank!
cbmeeks

28

Ich hatte das gleiche Problem. Ich habe den .git-Ordner gelöscht und dann die folgenden Befehle befolgt

  1. $ git init
  2. $ git add .
  3. $ git remote add origin git@gitorious.org:project/project.git
  4. $ git commit -m "Initial version"
  5. $ git push origin master

9

Ich habe das gleiche Problem. Es hat mein Problem gelöst. Wenn du deinen Git initiierst. Sie müssen auf Terminal tun

1) git add .

2)git commit -m "first commit"

Zum Senden an Bitbucket

3) git push -u origin --all # pushes up the repo and its refs for the first time


6

Ich hatte gerade das gleiche Problem beim Erstellen meines ersten Git-Repositorys. Ich hatte einen Tippfehler bei der Remote-Erstellung von Git Origin - es stellte sich heraus, dass ich den Namen meines Repositorys nicht groß geschrieben habe.

 git remote add origin git@github.com:Odd-engine

Zuerst habe ich die alte Fernbedienung mit entfernt

git remote rm origin

Dann habe ich den Ursprung neu erstellt und sichergestellt, dass der Name meines Ursprungs genau so eingegeben wurde, wie mein Ursprung geschrieben wurde.

git remote add origin git@github.com:Odd-Engine

Kein Fehler mehr! :) :)


4

Ich hatte den gleichen Fehler, als Bombe sagte, ich hätte keinen lokalen Zweig namens master in meiner Konfiguration, obwohl ich einen Zweig namens master aufgelistet git branchhabe ...

Um dies zu beheben, fügen Sie dies einfach Ihrer .git / config hinzu

[branch "master"]
    remote = origin
    merge = refs/heads/master

Ein bisschen hacky, macht aber den Job


3

Stellen Sie sicher, dass Sie sich in einem Zweig befinden, zumindest im Hauptzweig

Art:

git branch

Das solltest du sehen:

Ubuntu-Benutzer: ~ / git / Kurkuma-releng $ git Zweig

* (no branch)
master

Geben Sie dann Folgendes ein:

git checkout master

dann passen alle Ihre Änderungen in den Hauptzweig (oder in den Zweig, den Sie wählen)


2

Um das Problem tatsächlich zu beheben, habe ich den folgenden Befehl verwendet, um alle meine Dateien für das Commit bereitzustellen.

$ git add .
$ git commit -m 'Your message here'
$ git push origin master

Das Problem, das ich hatte, war, dass der Befehl -u in git add die neuen Dateien nicht wirklich hinzufügte und der Befehl git add -A bei meiner Installation von git nicht unterstützt wurde. Wie in diesem Thread erwähnt, war das Commit, das ich inszenieren wollte, leer.


es hat bei mir funktioniert! Ich habe es mit zu vielen Befehlen versucht und nichts hat sich geändert ... aber das war die Lösung für mich!
Karensantana

1

Ich habe mein Problem behoben ....

Ich bin mir nicht sicher, was das Problem war, aber ich benutze die Gitx-Oberfläche, um meine bereitgestellten Dateien festzuschreiben. Dann ...

$ git push origin master

hat funktioniert...

Ich habe das gleiche Problem ...

hat einen neuen Ordner erstellt, der in den Bort-Vorlagendateien hinzugefügt wurde ...

$ git commit -m 'first commit'

$ git remote add origin git@github.com:eltonstewart/band-of-strangers.git

$ git push origin master

dann bekomme ich den gleichen fehler ...

Fehler: src refspec master stimmt mit keinem überein.
fatal: Das Remote-Ende hat unerwartet aufgelegt.
Fehler: Einige Refs konnten nicht an 'git@github.com: eltonstewart / band-of-strangers.git' gesendet werden.


1
error: failed to push some refs to 'git@github.com:{username}/{projectname}.git'

Sofern Sie die Fehlermeldung nicht verallgemeinern, sieht es so aus, git@github.com:{username}/{projectname}.gitals würden Sie sie buchstäblich als Remote-Git-Repo verwenden. Sie sollten {username}Ihren GitHub-Benutzernamen und {projectname}den Namen Ihres Projekts eingeben.


1
cd  app 

git init 

git status 

touch  test 

git add . 

git commit  -a  -m"message to log " 

git commit  -a  -m "message to log" 

git remote add origin 

 git remote add origin git@git.google.net:cherry 

git push origin master:refs/heads/master

git clone git@git.google.net:cherry test1

1

Ich hatte das gleiche Problem. Ich hatte fälschlicherweise ein Verzeichnis in der Maschine in Kleinbuchstaben erstellt. Sobald der Fall geändert wurde, wurde das Problem behoben (aber meine 1,5 Stunden verschwendet :() Überprüfen Sie, ob Ihr Verzeichnisname und der Name des Remote-Repos identisch sind.


1

Es sieht so aus, als hätte diese Frage bereits eine Reihe von Antworten, aber ich werde mich mit meiner abwägen, da ich keine gesehen habe, die sich mit dem Problem befasst, das ich hatte.

Ich hatte diesen Fehler auch in einem brandneuen Github-Repository. Es stellte sich heraus, dass der Benutzer, von dem ich gepusht habe, keinen Push-Zugriff hatte. Aus irgendeinem Grund führt dies zu einem Fehler "FEHLER: Repository nicht gefunden" anstelle eines Zugriffsfehlers.

Wie auch immer, ich hoffe, das hilft der armen Seele, die auf dasselbe Problem stößt.


1

hatte das gleiche Problem vor einer Minute und dann behoben

Erstellen Sie ein Repository in Github namens WordPress ...

cd wordpress
git init
git add -A
git commit -am “WordPress 3.1.3″ or any message
git remote add origin git@github.com:{username}/wordpress.git
git push -u origin master

Dies sollte funktionieren, um das refspec-Problem zu beheben


Danke, es funktioniert für mich. Kann ich wissen, was der Unterschied zwischen "git add" ist? und "git add -A"
Satish Karuturi

Kein Unterschied, wenn Sie auf v 2.x sind, ist nur wichtig, wenn Sie auf 1.x Check-Tabelle für zukünftige Ref sind: stackoverflow.com/a/26039014/640727
David Chase

0

Ich habe fälschlicherweise ein Leerzeichen nach dem - also anstatt - ich hatte - nur etwas zu suchen.


0

Ich denke, in einer älteren Version von git sollten Sie zuerst mindestens eine Datei festschreiben, und dann können Sie den "Ursprungsmaster" erneut "pushen".


0

toll .. es ist das Problem mit leerem Verzeichnis nur nichts anderes. Ich habe mein Problem behoben, indem ich in jedem Verzeichnis eine Binärdatei erstellt und diese dann hinzugefügt habe.


0

Das anfängliche Hinzufügen und Festschreiben funktionierte wie ein Zauber. Ich denke, es geht nur darum, die Methode von Git zum Verwalten eines Projekts im Repository zu verstehen.

Danach habe ich es geschafft, meine Daten sofort und problemlos zu übertragen.


0

Ich bin gerade auf dieses Problem gestoßen, und es schien darauf zurückzuführen zu sein, dass ich keine benutzerdefinierte Festschreibungsnachricht über der Standard-Festschreibungsnachricht hinzugefügt habe (ich dachte mir, warum sollte ich "anfängliches Festschreiben" schreiben, wenn darin genau dasselbe im von Git generierten Text steht? darunter).

Das Problem wurde behoben, als ich das .git-Verzeichnis entfernte, das Projektverzeichnis für Git neu initialisierte, die GitHub-Fernbedienung neu hinzufügte, alle Dateien zur neuen Stufe hinzufügte, eine persönliche Nachricht über der automatisch generierten Nachricht festschrieb und an weiterleitete Herkunft / Meister.


0

Wenn Sie ein Repository auf Github erstellen, fügt es dem Repo eine README.md-Datei hinzu. Da sich diese Datei möglicherweise nicht in Ihrem lokalen Verzeichnis befindet oder möglicherweise einen anderen Inhalt hat, schlägt git push fehl. Um das Problem zu lösen, habe ich:

git pull origin master
git push origin master

Diesmal hat es funktioniert, seit ich die Datei README.md hatte.


0

Versuchen Sie vor dem ersten Festschreiben, eine Datei wie readme.txt hinzuzufügen. Dadurch wird das Remote-Repo "erzwungen", den Zweigmaster zu erstellen, falls dieser nicht vorhanden ist. Es hat bei mir funktioniert.


0

Dies ist eine sehr alte Frage, aber für alle neuen Leute, die wie ich hier landen werden. Diese Lösung ist nur für

error: src refspec master does not match any.

Fehler für neues Repo erstellt

Sie müssen Ihre hinzufügen

git config user.email "your email"
git config user.name "name"

Erst nach dem Hinzufügen von E-Mail und Name Dateien zu Git hinzufügen und festschreiben

git add .
git commit -m "message"

Es wird wie Charme funktionieren


0

Ich habe auch diesen Fehler, ich habe ein Commit gesetzt, um nicht leere Projekte zu pushen, wie es viele Leute tun, aber es funktioniert nicht

Das Problem war die SSL, und die nächste

git config --system http.sslverify false

Und danach funktioniert alles gut :)

Git Push Origin Master


0

Ich hatte das gleiche Problem / den gleichen Fehler. Ich tat es git push -u origin masterstattdessen, git push origin masterund es funktionierte.


0

Gehen Sie zur Systemsteuerung -> Verwalten Sie Ihre Anmeldeinformationen und löschen Sie github-Anmeldeinformationen, falls vorhanden.


-1

Ich hatte das gleiche Problem, einige der Benutzer haben dies beantwortet. Vor dem Push müssen Sie Ihr erstes Commit haben. Jetzt habe ich für neue Benutzer eine Reihe einfacher Schritte erstellt. Vorher müssen Sie git installieren und in der Befehlszeile ausführen:

  • git config user.email "Ihre E-Mail"
  • git config user.name "name"

Die Schritte zum Erstellen eines Remote-Repositorys (ich verwende Dropbox als Remote-Repository):

1. create a directory in Dropbox (or on your remote server)
2. go to the Dropbox dir (remote server dir)
3. type git command: git init --bare
4. on your local drive create your local directory
5. go to local directory
6. type git command: git init
7. add initial files, by typing git command:: git add <filename> 
8. type git command: git commit -a -m "initial version" (if you don't commit you can't do the initial push
9. type git command: git remote add name <path to Dropbox/remote server> 
10. git push name brach (for first commit the branch should be master)
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.