Messaggio 'src refspec master non corrisponde a nessuno' quando si spingono i commit in Git

Clono il mio repository con:

git clone ssh://xxxxx/xx.git 

Ma dopo aver cambiato alcuni file e averli aggiunti e commessi, voglio spingerli sul server:

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

Ma l'errore che ottengo è:

{{7754756}};

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

Forse hai solo bisogno di impegnarti. Mi sono imbattuto in questo quando l'ho fatto:

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

Oops! Mai impegnato!

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

Tutto quello che dovevo fare era:

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

Successo!

Commentari (19)
  1. Prova git show-ref per vedere quali refs hai. C'è refs/heads/master?

  2. Puoi provare git push origin HEAD:master come soluzione più indipendente dal riferimento locale. Questo dichiara esplicitamente che vuoi spingere il ref locale HEAD al ref remoto master (vedi la documentazione di git-push refspec).

Commentari (17)

Ho scoperto che questo è successo in un repository nuovo di zecca dopo che ho aggiunto solo una directory con git.

Non appena ho aggiunto un file (ad esempio un README), git push ha funzionato alla grande.

Commentari (5)