Boodschap 'src refspec master komt niet overeen' bij het terugzetten van commits in Git

Ik kloon mijn repository met:

git clone ssh://xxxxx/xx.git 

Maar nadat ik enkele bestanden heb gewijzigd en add en commit ze, wil ik ze naar de server pushen:

git add xxx.php
git commit -m "TEST"
git push origin master

Maar de fout die ik terug krijg is:

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

Misschien moet je je gewoon binden. Ik liep hier tegenaan toen ik dat deed:

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

Oeps! Nooit toegezegd!

git push -u origin master
error: src refspec master does not match any.

Het enige wat ik moest doen was:

git commit -m "initial commit"
git push origin master

Succes!

Commentaren (19)
  1. Probeer git show-ref om te zien welke refs je hebt. Is er refs/heads/master?

  2. Je kunt git push origin HEAD:master proberen als meer lokale-reference-onafhankelijke oplossing. Dit stelt expliciet dat je de lokale ref HEAD naar de remote ref master wilt pushen (zie de git-push refspec documentatie).

Commentaren (17)

Ik ontdekte dat dit gebeurde in een gloednieuwe repository nadat ik git alleen een directory had toegevoegd.

Zodra ik een bestand toevoegde (b.v. een README), werkte git push geweldig.

Commentaren (5)