it-swarm.com.de

src refspec master stimmt mit keinem überein, wenn Commits in git gedrückt werden

Ich habe mein Repository geklont mit:

git clone ssh://xxxxx/xx.git 

aber nachdem ich einige Dateien und add und commit geändert habe, möchte ich sie zum Server schieben

git add xxx.php
git commit -m "TEST"
git Push Origin master

Aber der Fehler, den ich zurück bekomme, ist:

error: src refspec master does not match any.  
error: failed to Push some refs to 'ssh://xxxxx.com/project.git'
2114
sinoohe

Vielleicht musst du dich nur festlegen. Ich bin darauf gestoßen, als ich es tat:

mkdir repo && cd repo
git remote add Origin /path/to/Origin.git
git add .

Hoppla! Niemals begangen

git Push -u Origin master
error: src refspec master does not match any.

Alles was ich tun musste war:

git commit -m "initial commit"
git Push Origin master

Erfolg!

3339
baisong
  1. Versuchen Sie git show-ref, um zu sehen, welche Referenzen Sie haben. Gibt es refs/heads/master?

  2. Sie können git Push Origin HEAD:master als ortsunabhängigere Lösung ausprobieren. Hiermit wird ausdrücklich angegeben, dass Sie den lokalen Verweis HEAD an den entfernten Verweis master senden möchten (siehe Dokumentation git-Push refspec ).

659
Vi.

Ich hatte auch einen ähnlichen Fehler, nachdem ich alle Dateien auf meinem lokalen Computer gelöscht hatte, und ich muss alle Dateien im Repository bereinigen.

Meine Fehlermeldung war ungefähr so:

error: src refspec master does not match any.
error: failed to Push some refs to '[email protected] ... .git'

und es wurde gelöst, indem die folgenden Befehle ausgeführt wurden:

touch README
git add README

git add (all other files)
git commit -m 'reinitialized files'
git Push Origin master --force  # <- caution, --force can delete others work.

Das ist es, hoffe das hilft.

198
Aryo
  1. Meine Änderungen waren bereits festgeschrieben
  2. Force Push gab mir immer noch den gleichen Fehler. 

Also habe ich versucht - Vi Lösung :

git Push Origin HEAD:<remoteBranch> 

Das hat bei mir funktioniert.

165
tldr

Für mich musste ich sicherstellen, dass der public key im Server richtig konfiguriert ist (angehängt in ~/.ssh/authorised_keys) und in github/bitbucket (hinzugefügt zu meinen SSH-Schlüsseln auf github oder bitbucket) -, die sie benötigen Spiel.

Dann:

git add --all :/

git commit -am 'message'

git Push -u Origin master

Am Ende für mich gearbeitet. 

102
Red
git Push -u Origin master
error: src refspec master does not match any.

Dazu müssen Sie wie folgt die Festschreibungsnachricht eingeben und dann den Code drücken

git commit -m "initial commit"

git Push Origin master

Erfolgreich zum Meister geschoben

101
VIKAS KOHLI

Ich fand das in einem brandneuen Repository passiert, nachdem ich nur ein Verzeichnis hinzugefügt hatte. 

Sobald ich eine Datei hinzugefügt habe (z. B. eine README), funktionierte git Push hervorragend.

64
Andrew E

Fehlendes oder Überspringen von git add . oder git commit kann zu diesem Fehler führen:

git Push -u Origin master
Username for 'https://github.com': yourusername
Password for 'https://[email protected]': 
error: src refspec master does not match any.
error: failed to Push some refs to 'https://github.com/yourusername/foobar.git'

Um das Problem zu beheben, initialisieren Sie es erneut und befolgen Sie die richtige Reihenfolge:

git init
git add .
git commit -m 'message'
git *create remote
git Push -u Origin master
63
aug2uag

Um es zu beheben, initialisieren Sie es erneut und befolgen Sie die richtige Codefolge:

git init
git add .
git commit -m 'message'
git Push -u Origin master
58
pratik kumar

Stellen Sie sicher, dass Sie zuerst hinzugefügt haben, und bestätigen Sie dann /

Mögen:

git init
git add .
git commit -m "message"
git remote add Origin "github.com/your_repo.git"
git Push -u Origin master
48
Saurabh Singh

Dies geschieht auch, wenn Sie sich in einem bestimmten Zweig befinden und versuchen, einen anderen Zweig zu pushen, der noch nicht vorhanden ist, z.

$ git branch
* version-x  # you are in this branch
  version-y

$ git Push -u Origin master
error: src refspec master does not match any.
error: failed to Push some refs to 'Origin_address'
41
wilsonfoz

füge einfach ein erstes Commit hinzu, folge den Schritten: -

  • git add.

  • git commit -m "Initial Commit"

  • git Drücken Sie den Origin-Master

    Das hat bei mir funktioniert 

25
NeeruSingh

Mein Problem war, dass der 'Master'-Zweig noch nicht lokal erstellt wurde.

Ein schnelles 

git checkout -b "master" 

den Master-Zweig erstellt, an diesem Punkt eine schnelle:

git Push -u Origin master

Schob die Arbeit bis zum Git Repo.

17
Antoine
  1. erster git add.
  2. zweite git commit -m "Nachricht"
  3. dritter git Push Origin-Zweig Bitte überprüfen Sie die Rechtschreibfehler, da dies möglicherweise zu Fehlern führt.
17
Alwan Mortada

Dies bedeutet nur, dass Sie das anfängliche Commit vergessen haben. Versuchen Sie es

git add .
git commit -m 'initial commit'
git Push Origin master
17
xuri

Ich stand vor demselben Problem und verwendete --allow-empty.

$ git commit -m "initial commit" --allow-empty
...
$ git Push
...
16
Jin Kwon

Ich hatte das gleiche Problem, als ich nicht laufen konnte:

git add .

(Sie müssen mindestens eine Datei haben, sonst erhalten Sie den Fehler erneut.)

15
neoDev

Ich habe das gleiche problem Ich mache es mit den folgenden Schritten

1. git commit -m 'message'
2. git config --global user.email "your mail"
3. git config --global user.name "name"
4. git commit -m 'message'
5. git Push -u Origin master

Ich hoffe es wird jedem helfen

12
user3051460

Dies ist der Fall, wenn Sie Ihre Datei hinzugefügt und vergessen haben, zu übergeben und zu pushen. Geben Sie die Dateien ein und drücken Sie dann Push. 

12
user993563

git add.

alles, was Sie brauchen, ist, dass der Code alle Untrack-Dateien in Ihrem Verzeichnis verfolgt 

11
HuntsMan

Wenn Sie diese Fehlermeldung erhalten, während Sie im Modus HEAD arbeiten, können Sie Folgendes tun:

git Push Origin HEAD:remote-branch-name

Siehe auch: Einen Git machen Drücken Sie von einem abgenommenen Kopf aus

Wenn Sie sich in einem anderen lokalen Zweig als der entfernte Zweig befinden, können Sie Folgendes tun:

git Push Origin local-branch-name:remote-branch-name
10
snap

Für den Fall, dass Sie mit diesem Problem konfrontiert sind, auch nachdem Sie git init ausgeführt und Ihr erstes Commit durchgesetzt haben. Sie können das Folgende versuchen,

git checkout -b "new branch name"
git Push Origin "new branch name"

Ihr Code wird als neuer Zweig gepusht.

9
Govind

Dies ist auch der Fall, wenn im Zweignamen, den Sie versuchen möchten, ein Tippfehler vorliegt.

9
Gavin

Sie müssen Ihren Git konfigurieren, wenn Sie ihn zum ersten Mal verwenden:

git config --global user.email "[email protected]"

git config --global user.name "Your Name"
8
asdasd

Ich habe vergessen, nach dem Commit und vor dem Push ein "git pull Origin master" zu machen, und es verursacht dasselbe Problem: "src refspec master passt nicht zu einem der beiden, wenn Commits in git gepusht werden" . Was Sie also tun sollten :

1. git add .
2. git pull Origin master
3. git commit -am "Init commit"
4. git Push Origin master
8
Lackeeee

Ich habe auch die folgenden Anweisungen von Githubs befolgt, war aber immer noch mit demselben Fehler konfrontiert, wie er von OP erwähnt wurde:

git init git add . git commit -m "message" git remote add Origin "github.com/your_repo.git" git Push -u Origin master

Für mich, und ich hoffe, das hilft einigem, habe ich eine große Datei (1.58 GB on disk) auf meinem MacOS gepusht. Beim Einfügen der oben vorgeschlagenen Codezeile habe ich nicht darauf gewartet, dass mein Prozessor den add .-Prozess tatsächlich beendet. Also, als ich git commit -m "message" eingegeben habe, hat es im Grunde genommen keine Dateien referenziert und hat nicht abgeschlossen, was es tun muss, um meinen Code erfolgreich an github zu übergeben.

Der Beweis dafür ist, dass ich bei der Eingabe von git status normalerweise grüne Schriftarten für die hinzugefügten Dateien erhalte. Aber alles war rot. Als ob es überhaupt nicht hinzugefügt worden wäre.

Also habe ich die Stufen umgestaltet. Geben Sie git add . ein und warten Sie, bis die Dateien hinzugefügt wurden. Folgen Sie dann den nächsten Schritten.

Ich hoffe das hilft jemandem.

7
Gel Sisaed

In dem Szenario, in dem Sie ein Repo aus einer externen Quelle auschecken. Und es in ein persönliches/internes System importieren möchten, zeigt dieser Befehl Folgendes:

git Push --all Origin

Dies schiebt alle Zweige vor, ohne Refs zu prüfen und auf Commits zu bestehen.

7
d.raev

Versuche dies:

git add .

git commit -m "your commit message"

git remote add Origin *remote repository URL*

git Push Origin *your-branch-name*
7
Palak Jain

Hatte dasselbe Problem, war aber in meinem Fall genau so, wie auf der Seite angegeben, als Sie ein neues Repository erstellt hatten. Einfach das hier drüben einfügen

  echo "# YYYY" >> README.md
  git init
  git add README.md
  git commit -m "first commit"
  git remote add Origin https://github.com/XXXX/YYYY.git
  git Push -u Origin master

Geben Sie oben in GitBash XXXX den Benutzernamen und YYYY den Repositorynamen ein.

6
Anubhav Pandey

Ich habe dieses Problem beim Hinzufügen eines leeren Verzeichnisses erhalten. Git erlaubt kein leeres Verzeichnis. Hier ist eine einfache Lösung.

Erstellen Sie die Datei .gitkeep innerhalb des Verzeichnisses, das Sie zur Remote-Verbindung verschieben möchten, und bestätigen Sie das leere Verzeichnis von der Befehlszeile aus:

touch your-directory/.gitkeep
git add your-directory/.gitkeep
git commit -m "Add empty directory"
6
Rajesh Khadka

Ich habe diese Fehlermeldung erhalten, weil mein lokaler Zweigname nicht mit dem neuen entfernten Zweig übereinstimmt, den ich mit git Push Origin <<branchname>> erstellen wollte.

6
Amalgovinus

Überprüfen Sie Ihren Commit-Titel. Wenn Sie den Befehl git commit -m "xxxx" vergessen, wird dasselbe Problem angezeigt

git commit -m "initial commit"
6
Ferhat KOÇER

Dies funktionierte für mich, um das Repo auf Remote Master zurückzusetzen

git checkout master
git commit -a -m "your comment"
git Push Origin master
6
Giulio Roggero

Ich denke es liegt daran, dass Sie einen ungültigen Zweig gestoßen haben. Im Allgemeinen, weil das Repository keinen gemeinsamen Hauptzweig hat (möglicherweise Entwicklungszweig). Sie können .__ verwenden. git branch, um zweige zu sehen.

5
Zhengming Ying

nur Commit hat diesen Fehler behoben.

git commit -m "first commit"
5
Omid Ahmadyani

Eine andere mögliche Ursache für dieses Problem ist, wenn Sie den Zweignamen falsch eingeben. Wenn Sie also das gemacht haben, was ich getan habe, würde das Problem durch Korrektur behoben:

git Push Origin mater

zu 

git Push Origin master
5
jcw

Wenn Sie einen neuen Zweig in Origin aus der Ferne erstellen möchten, müssen Sie zunächst denselben Zweig erstellen:

$ git clone -b new-branch
$ git Push Origin new-branch
4
Vojtech Vitek

Ich habe das gleiche Problem und behebe mein Problem im folgenden Schritt: 

  • git pull --rebase https://github.com/yours master
  • git add.
  • git commit -m "Festschreiben"
  • git Drücken Sie den Origin-Master

ich hoffe es hilft

4
Gujarat Santana

Dies passierte mir, als ich mich nicht auf den Master-Zweig des Origin bezog. Sie können also Folgendes versuchen:

git pull Origin master

Dadurch wird ein Verweis auf den Master-Zweig des Origin im lokalen Repository erstellt. Dann können Sie das lokale Repository an den Ursprung senden.

git Push -u Origin master
4
ihayet

Ich hatte einen ähnlichen Fehler. Aber git sagt mir:

*** Please tell me who you are.

Lauf

git config --global user.email "[email protected]"
git config --global user.name "Your Name"

Oder um die Standardidentität Ihres Kontos festzulegen.

Omit --global to set the identity only in this repository.

Dann geht der Fehler weg.

4
Paket2001

Vergewissern Sie sich noch einmal, dass Sie den richtigen Zweignamen eingeben. Ich bin auf den gleichen Fehler gestoßen und nachdem ich git show-ref gesehen hatte, konnte ich sehen, dass ich ihn falsch eingegeben hatte.

4
rabbitwerks

Das Problem, das ich hatte, war beim Versuch, mein Repository zurückzusetzen. Ich wollte die gesamte Geschichte löschen und nichts festlegen. Sie müssen jedoch mindestens SOMETHING zum Festschreiben hinzufügen, also habe ich gerade eine leere Textdatei erstellt, git add . und dann git commit -m "Reset repository".

3
Sina Madani

Sie haben wahrscheinlich den Befehl "git add" vergessen. nach "git init" befehl.

3
Sumer

Altes Thema, aber ich hatte dieses Problem und wollte meine Erfahrungen teilen. Ich hatte bereits ein Commit erstellt. 

Stellen Sie sicher, dass Sie zum richtigen Zweig wechseln

Ich tippte git Push Origin master, aber als ich git branch eingetippt hatte, war ich in einem v1-Zweig, also musste ich git Push Origin v1 eingeben

3
espradley

Ich habe die Dateien in einem falschen Verzeichnis erstellt und versucht, git Push -u Origin master auszuführen, und ich habe die Fehlermeldung Sobald ich cd in das aktuelle Verzeichnis git Push -u Origin master aufgenommen habe, ist alles in Ordnung.

3
Ali

Genau dieses Problem habe ich im Umgang mit VCS in Android Studio erlebt. Es stellte sich heraus, dass alles was ich zu tun hatte:

  1. Wählen Sie alle Dateien aus dem Ordner "App" aus.
  2. Gehe zu VCS (Option oben);
  3. "Hinzufügen" der Dateien;
  4. Erneutes Festlegen über Terminal oder durch Klicken auf das Dropdown-Menü
  5. Drücken! 

Eureka! : D

2
Dimpy Chhabra

Ich habe zu einem Github-Repo beigetragen, also habe ich das Projekt gegabelt, geklont, einen eigenen Zweig erstellt, ein paar Commits durchgeführt und versucht, Push zu betreiben. An diesem Punkt habe ich festgestellt, dass ich nicht meine Gabel geklont habe, sondern das ursprüngliche Projekt-Repo (für das ich keine Push-Berechtigung habe). 

Also habe ich .git/config geändert, um Origin auf mein Repo zu verweisen.

zu diesem Zeitpunkt, als ich versuchte, Push auszuführen, wurde der Fehler error: src refspec my_awesome_branch does not match any. angezeigt.

Alles, was ich tun musste, war, eine Datei zu berühren und zu bestätigen (ähnlich wie in diese Antwort

git touch README
git commit -m "fixing error in my git repo"

und dann: 

git checkout master
git pull Origin master
git Push Origin master # this will tell my remote repo about my new branch
git checkout my_awesome_branch
git Push Origin my_awesome_branch # now it will work
2
equivalent8

Vielleicht weiß github nicht, wer du bist.

zuerst musst du Folgendes ausführen: git config --global user.email "[email protected]" git config --global user.name "Your Name"

1
Amir.S

@Aryo In meinem Fall musste ich die vollständige URL meines lokalen Git-Repository verwenden, um die Datei zu pushen. Zuerst entfernte ich alle Dateien im aktuellen Verzeichnis. Created README hat es hinzugefügt. Mehr hinzugefügt. Dann habe ich diese Dateien festgeschrieben und zum Schluss die richtigen URLs für das Repository angegeben. Ihr Repository ist hier der Name des Repositorys auf dem Server.

rm -rf *

touch README
git add README
touch file1 file2
git add file1 file2

git commit -m "reinitialized files"
git Push [email protected]:yourrepository.git master --force
1
Pramod

Fehler von git: Fehler: src refspec master stimmt mit keinem überein.

mit diesem Schritt behoben: git commit -m "first commit"

bevor ich lief: git add

und nachdem ich lief: git Push -u Origin master

!!!

1

Arbeite für mich

Nur noch zur Kasse

git checkout -b master
git add .
git Push Origin master 

Oder verwenden Sie --force für die Kraftänderung

git Push Origin master --force
1
Sohail

Ich habe diese Fehlermeldung erhalten: "src refspec master" stimmt nicht überein. " Wenn versucht wurde, Commit auf GitHub zu verschieben, wobei Änderungen (bei GitHub) vorgenommen wurden.

git Push -u Origin branch-name - helped me up to date my local files
1
discipleartem

Ich hatte das gleiche Problem und stellte auch fest, dass ich keine Datei festgeschrieben hatte. Wenn ich also erneut versucht habe, eine Commit auszuführen, erhalte ich diese Fehlermeldung

*** Please tell me who you are.

Run

 git config --global user.email "[email protected]"
 git config --global user.name "Your Name"

 to set your account's default identity.
 Omit --global to set the identity only in this repository.

 fatal: unable to auto-detect email address (got '[email protected](none)')

dann habe ich nur noch meine E-Mail-Adresse und meinen Namen global hinzugefügt und den Befehl erneut übernommen

git commit -m 'Initial commit'

dann geschoben

git Push -u Origin master

Ich hoffe das hilft

1
samezedi

Ich hatte einen extrem langen Ortsnamen. 

git branch -m new_shorter_branch_name

das Problem behoben.

1
Scotty.NET

In meinem Fall habe ich vergessen, die .gitignore -Datei einzuschließen. Hier sind alle erforderlichen Schritte:

  1. Erstellen Sie ein leeres Git-Repo auf der Fernbedienung,
  2. Erstellen Sie lokal die .gitignore-Datei für Ihr Projekt. Github gibt Ihnen eine Liste von Beispielen hier
  3. Starten Sie ein Terminal und führen Sie in Ihrem Projekt die folgenden Befehle aus:

    git remote add Origin YOUR/Origin.git

    git add .

    git commit -m "initial commit or whatever message for first commit"

    git Push -u Origin master

1
Ismail H

In meinem Fall habe ich das Repository geklont, bin aber nicht lokal in die Filiale gewechselt

ich habe das gelöst

bevor Sie Änderungen am Code vornehmen, sollten Sie Folgendes tun git checkout branch-name

nehmen Sie dann Änderungen am Code vor

danach Schieben Sie den Code zur Verzweigung git Push -u Origin branch-name

1

Ich habe dieses Problem auch erhalten, aber es war, weil ich meinen Server versehentlich heruntergefahren habe, bevor ich den Push durchführte. Auch dies wird den gleichen Fehler verursachen.

0
arush436

Für Benutzer von Bash innerhalb von Cmder unter Windows müssen Sie einen neuen .ssh-Ordner in Ihrem neuen Basisverzeichnis erstellen. 

1) Wechseln Sie in Ihr Heimatverzeichnis cd ~

2) Erzeugen Sie die ssh-Schlüssel ssh-keygen.

3) Lassen Sie alle Eingaben leer (drücken Sie die Eingabetaste).

4) Kopieren Sie die Datei id_rsa.pub in Ihren Github> Einstellungen> SSH-Schlüssel

0
Janac Meena

Keine der oben genannten Lösungen funktionierte für mich, als ich den Fehler src-refspec erhielt. .__ Mein Workflow:

  • auf Remote-Zweig verschoben (gleicher lokaler Zweigname) 
  • diesen entfernten Zweig gelöscht 
  • einige Sachen geändert und begangen 
  • erneut auf denselben Remote-Zweignamen (denselben lokalen Zweignamen) verschoben 
  • src-refspec Fehler erhalten.

Fehler behoben, indem einfach ein neuer Zweig erstellt und erneut gedrückt wurde. (Komische Sache war, ich konnte den Zweig nicht einfach umbenennen - gab mir fatal: Umbenennung der Zweigstelle fehlgeschlagen)

0
aimango

wenn Sie visuellen Studio-Code haben

  1. löschen Sie den .git Ordner, wenn Sie keine Änderungen am Track vornehmen müssen (falls ja git stash)
  2. git init
  3. git commit -m "erstes Commit"
  4. git remote add Origin https://github.com/YOURusername/YOURrepo.git
  5. von Visual Studio-Code-Benutzeroberfläche IDE GOTO-Quellcodeverwaltung vom linken Seitenbereich aus oder (Strg + Umschalttaste + G)
  6. bühne alle Ihre Änderungen oder Teil
  7. bestätigen Sie Ihre Änderungen
  8. Synchronisieren Sie Ihre Änderungen mit der linken unteren Schaltfläche (z. B. Nummer oder Cloud-Symbol) Visual Studio möchte, dass Sie Ihren Benutzernamen und Ihr Kennwort eingeben

wenn Sie eine Repo-Berechtigung haben, können Sie Folgendes sehen:

> git Push -u Origin master
Fatal: AggregateException encountered.
To https://github.com/your_account/yourrepo.git
 * [new branch]      master -> master
> git status -z -u
> git symbolic-ref --short HEAD
> git rev-parse master
> git rev-parse --symbolic-full-name [email protected]{u}
> git rev-list --left-right master...refs/remotes/Origin/master
> git for-each-ref --format %(refname) %(objectname) --sort -committerdate
> git remote --verbose
> git show :ionic.config.json
> git check-ignore -z --stdin

Ich hatte diesen Fehler und es gab ein Problem mit dem Namen der Branche, da ich das Zeichen "&" verwendet habe. Ich habe es einfach mit "^ &" übersprungen und es hat funktioniert.

0
M. Dhaouadi

In meinem Fall schien das Problem unter Windows etwas damit zu tun zu haben, dass wir den Zweignamen ein Präfix wie feature\ hinzufügen. Wir haben versucht, einen Zweig mit einem solchen Präfix zu erstellen und zu pushen (beispielsweise feature\branch), aber es gab bereits einen anderen Zweig mit einem anderen Namen, der mit Feature\ (beispielsweise Feature\otherbranch) versehen ist. Dies bedeutet, dass der neue Zweig unter Windows im selben Ordner refs\heads\Feature abgelegt wurde. Bei Git kann die Groß- und Kleinschreibung beachtet werden, beim Windows-Dateisystem jedoch nicht. Es hat geholfen, als wir die örtliche Zweigstelle Feature\branch auscheckten.

0
kamilk

Wenn Sie Git Bash unter Windows verwenden, starten Sie ihn neu. Arbeitete für mich!

0
ExillustX

Erlaubnisausgabe? Auflösung Gabel es

Ich habe diese Fehlermeldung erhalten, weil ich keine Push-Berechtigung für das Repository hatte. Daher musste ich Fork it Ausführen und dann Pull, Commit ausführen.

0
MAX

Ich habe gerade diesen Fehler erhalten, als ich versuchte, Sachen in ein neues Repo auf GitHub zu pushen. Ich hatte das Git-Repo lokal erstellt und das Repo auf GitHub mithilfe der Web-GUI (einschließlich einer LICENSE-Datei) erstellt.

Das Problem wurde behoben, nachdem ich die LICENSE-Datei aus dem ansonsten leeren GitHub-Repo in mein lokales Repo gezogen hatte. Danach konnte ich ohne Probleme schieben.

0
Thomas Jensen

Es erkennt nicht, dass Sie einen Hauptzweig haben, erstellen Sie ihn einfach und legen Sie ihn erneut fest.

So erstellen Sie einen Master-Zweig:

git checkout -b master
0
oskarko