Bericht ‘src refspec master komt niet overeen’ bij het pushen 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, wil ik ze naar de server pushen:

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

Maar de foutmelding die ik krijg is:

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

Antwoord 1, autoriteit 100%

Misschien moet je je gewoon vastleggen. Ik kwam dit tegen toen ik het deed:

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

Oeps! Nooit toegewijd!

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

Het enige wat ik hoefde te doen was:

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

Succes!


Antwoord 2, autoriteit 28%

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

Vanwege de recente "Master vervangen door main in GitHub" actie, merkt u misschien dat er een refs/heads/main is. Als resultaat kan het volgende commando veranderen van git push origin HEAD:master in git push origin HEAD:main

  1. Je kunt git push origin HEAD:master proberen als een meer lokale-referentie-onafhankelijke oplossing. Hierin staat expliciet dat je de lokale ref HEAD naar de remote ref master wilt pushen (zie de git-push refspec documentatie).

Antwoord 3, autoriteit 6%

  1. Mijn wijzigingen zijn al doorgevoerd
  2. Force push gaf me nog steeds dezelfde fout.

Dus ik probeerde Vi’s oplossing:

git push origin HEAD:<remoteBranch> 

Dit werkte voor mij.


Antwoord 4, autoriteit 5%

Ik had ook een soortgelijke fout na het verwijderen van alle bestanden op mijn lokale computer, en ik moet alle bestanden in de repository opschonen.

Mijn foutmelding was ongeveer als volgt:

error: src refspec master does not match any.
error: failed to push some refs to 'git@github ... .git'

En het werd opgelost door de volgende commando’s uit te voeren:

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.

Antwoord 5, autoriteit 3%

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

Daarvoor moet je het commit-bericht als volgt invoeren en vervolgens op de code drukken:

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

Succesvol gepusht tot master.


Antwoord 6, autoriteit 3%

Voor mij moest ik ervoor zorgen dat de openbare sleutel correct is geconfigureerd op de server (toegevoegd in ~/.ssh/authorized_keys) en in GitHub/Bitbucket ( toegevoegd aan mijn SSH-sleutels op GitHub of Bitbucket) – ze moeten overeenkomen. Dan:

git add --all :/
git commit -am 'message'
git push -u origin master

Antwoord 7, autoriteit 2%

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

Zodra ik een bestand toevoegde (bijvoorbeeld een README), werkte Git push prima.


Antwoord 8, autoriteit 2%

Ontbrekende of overslaande git add . of git commit kan deze fout veroorzaken:

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'

Om het op te lossen, initialiseert u opnieuw en volgt u de juiste volgorde:

git init
git add .
git commit -m 'message'
git *create remote
git push -u origin master

Antwoord 9

Om het op te lossen, initialiseert u opnieuw en volgt u de juiste codevolgorde:

git init
git add .
git commit -m 'message'
git push -u origin master

Antwoord 10

Zorg ervoor dat je eerst hebt toegevoegd en vervolgens commit/push:

Vind ik leuk:

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

Antwoord 11

Ik had hetzelfde probleem, en ik gebruikte --allow-empty:

$ git commit -m "initial commit" --allow-empty
...
$ git push
...

Aanvulling

Een van de belangrijkste redenen van dit probleem is dat sommige Git-servers, zoals BitBucket, hun master branch niet hebben geïnitialiseerd wanneer een nieuwe repository wordt gekloond.


Antwoord 12

Dit gebeurt ook als je in een specifieke branch zit en een andere branch probeert te pushen die nog niet bestaat, zoals:

$ 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'

Antwoord 13

Voor mij is het volgende gewerkt om niet-getrackte bestanden te verplaatsen:

git add --all

Vervolgens volgde ik soortgelijke stappen

 git commit -m "First commit"

Dan,

git remote add origin git@github.....

Last but not least:

git push -u origin master

Terwijl u dit doet, verschijnt Windows-beveiliging die om uw gebruikersnaam en wachtwoord vraagt.


Antwoord 14

Ik heb een paar dagen geleden met hetzelfde probleem te maken gehad.

Als je tegenwoordig een nieuwe repository hebt gemaakt (2020), dan is de standaardbranch main op GitHub.

je kunt GitHub nu controleren in je repository-takken.

en je kunt ook branch op de terminal controleren door het commando uit te voeren:

git branch

dus daarom moet je rennen

git push origin main

in plaats van

git push origin master

Veel succes


Antwoord 15

In mijn geval was ik vergeten het bestand .gitignore toe te voegen. Hier zijn alle vereiste stappen:

  1. Maak een lege Git-repository op afstand,
  2. Op lokaal maak je de .gitignore
    bestand voor uw project. GitHub geeft je hier een lijst met voorbeelden
  3. Start een terminal en voer in uw project de volgende opdrachten uit:

    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
    

Antwoord 16

Voeg gewoon een eerste commit toe. Volg deze stappen:

  • git add .

  • git commit -m "initial commit"

  • git push origin master

Dit werkte voor mij.


Antwoord 17

Mijn probleem was dat de ‘master’ branch nog niet lokaal was aangemaakt.

Een snelle

git checkout -b "master"

de master-branch gemaakt, waarna een snelle

git push -u origin master

heb het werk naar de Git-repository gepusht.


Antwoord 18

Na de GitHub-update 01.10.20 moet je main gebruiken in plaats van master.

Doe het op deze manier…

  1. Create a repository on GitHub
  2. Verwijder bestaand .git bestand in je lokale directory
  3. Ga naar de lokale projectdirectory en typ git init
  4. git add .
  5. git commit -m"My First Commmit"
  6. Controleer nu de naam van uw filiaal, het zal master zijn in uw lokale project
  7. git remote add origin <remote repository URL past here from the github repository> typ vervolgens git remote -v
  8. git push -f origin master
  9. Controleer nu de github-repository, je zult twee vertakkingen zien 1. main 2. master
  10. Maak in uw lokale repository een nieuwe branch aan en de naam van de branch zal main
  11. zijn

  12. git checkout main
  13. git merge master
  14. git pull origin main
  15. git push -f origin main

Opmerking: vanaf 01.10.20 besloot github main te gebruiken in plaats van master branch gebruik standaard branchnaam


Antwoord 19

Je bent waarschijnlijk het commando “git add .” vergeten. na het “git init” commando.


Antwoord 20

Dit betekent alleen dat je bent vergeten de eerste vastlegging te doen, probeer

git add .
git commit -m 'initial commit'
git push origin master

Antwoord 21

Ik volgde ook de aanwijzingen van GitHub als volgt hieronder, maar ik kreeg nog steeds dezelfde fout als vermeld in de OP:

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

Voor mij, en ik hoop dat dit sommigen helpt, pushte ik een groot bestand (1.58 GB on disk) op mijn MacOS. Tijdens het kopiëren en plakken van de voorgestelde regel codes hierboven, wachtte ik niet tot mijn processor het proces add . daadwerkelijk voltooide. Dus toen ik git commit -m "message" typte, verwees het in feite niet naar bestanden en heeft het niet voltooid wat het moest doen om mijn code succesvol op GitHub te committen.

Het bewijs hiervan is dat wanneer ik git status typ, ik meestal groene lettertypen krijg voor de toegevoegde bestanden. Maar alles was rood. Alsof het helemaal niet is toegevoegd.

Dus ik heb de stappen opnieuw gedaan. Ik typte git add . en wachtte tot de bestanden klaar waren met toevoegen. Daarna volgde ik de volgende stappen.


Antwoord 22

Het gebeurt als je vergeet te committen voordat je voor de eerste keer pusht. Gewoon rennen:

git commit -m "first commit"

Antwoord 23

  1. Eerst, git add .
  2. Ten tweede, git commit -m "message"
  3. Ten derde, git push origin branch

Controleer op spelfouten, want dat kan ook die fout opleveren.


Antwoord 24

Om de huidige status te controleren, git status.

En volg ook deze stappen:

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

Antwoord 25

Ik had hetzelfde probleem toen ik miste om te rennen:

git add .

(Je moet ten minste één bestand hebben, anders krijg je de fout opnieuw.)


Antwoord 26

Dit gebeurt wanneer je je bestand hebt toegevoegd, vergeten bent vast te leggen en te pushen.
Dus commit de bestanden en druk dan.


Antwoord 27

Als je deze foutmelding krijgt terwijl je werkt in de vrijstaande HEAD-modus, kun je dit doen:

git push origin HEAD:remote-branch-name

Zie ook: Een Git-push maken van een vrijstaande hoofd

Als je in een andere lokale branch zit dan de remote branch, kun je dit doen:

git push origin local-branch-name:remote-branch-name

Antwoord 28

Kort antwoord: Deze fout betekent dat de branch die u op afstand wilt pushen niet bestaat!

In mijn geval, vanaf oktober-2020, hadden de sindsdien gemaakte repo’s de main branch in plaats van de vorige master branch. Dus alles wat ik moest doen:

git push -u origin main 
  • je mag de vlag -u overslaan als de upstream is ingesteld (zoals in het geval je het al had gekloond)

Bingo! Dat werkte voor mij!
Hoop dat dat helpt! Veel plezier met coderen!


Antwoord 29

Ik had hetzelfde probleem en probeerde de meeste antwoorden hier, maar het probleem kwam door recente wijzigingen in de hernoeming van Github.

GitHub hernoemt geleidelijk de standaardtak van repositories van master naar main.

https://github.com/github/hernoemen

Uw nieuwe opdracht zou zijn:

git push origin main

in plaats van dit:

git push origin master

Antwoord 30

Misschien is de branch main in plaats van master

probeer

git push origin HEAD:main
of
git push origin main

LEAVE A REPLY

Please enter your comment!
Please enter your name here

two × 1 =

Other episodes