Správa 'src refspec master does not match any' pri tlačení revízií v systéme Git

Svoje úložisko klonujem pomocou:

git clone ssh://xxxxx/xx.git 

Ale po tom, čo zmením niektoré súbory a pridám a odošlem ich, chcem ich odoslať na server:

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

Ale chyba, ktorú dostanem späť, je:

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

Možno sa len musíte zaviazať. Ja som na to narazil, keď som to urobil:

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

Ups! Nikdy som sa nezapísal!

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

Všetko, čo som musel urobiť, bolo:

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

Úspech!

Komentáre (19)
  1. Skúste git show-ref, aby ste zistili, aké referencie máte. Je tam refs/heads/master?

  2. Môžete vyskúšať git push origin HEAD:master ako riešenie, ktoré je viac nezávislé na lokálnych odkazoch. Týmto spôsobom explicitne uvediete, že chcete posunúť lokálny ref HEAD na vzdialený ref master (pozri dokumentáciu git-push refspec).

Komentáre (17)

Zistil som, že sa to stalo v úplne novom úložisku po tom, čo som git pridal iba adresár.

Akonáhle som pridal súbor (napr. README), git push fungoval skvele.

Komentáre (5)