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%
- Probeer
git show-ref
om te zien welke refs je hebt. Is er eenrefs/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 vangit push origin HEAD:master
ingit push origin HEAD:main
- Je kunt
git push origin HEAD:master
proberen als een meer lokale-referentie-onafhankelijke oplossing. Hierin staat expliciet dat je de lokale refHEAD
naar de remote refmaster
wilt pushen (zie de git-push refspec documentatie).
Antwoord 3, autoriteit 6%
- Mijn wijzigingen zijn al doorgevoerd
- 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:
- Maak een lege Git-repository op afstand,
- Op lokaal maak je de .gitignore
bestand voor uw project. GitHub geeft je hier een lijst met voorbeelden -
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…
Create a repository on GitHub
- Verwijder bestaand
.git
bestand in je lokale directory - Ga naar de lokale projectdirectory en typ
git init
git add .
git commit -m"My First Commmit"
- Controleer nu de naam van uw filiaal, het zal
master
zijn in uw lokale project git remote add origin <remote repository URL past here from the github repository>
typ vervolgensgit remote -v
git push -f origin master
- Controleer nu de github-repository, je zult twee vertakkingen zien 1.
main
2.master
- Maak in uw lokale repository een nieuwe branch aan en de naam van de branch zal
main
git checkout main
git merge master
git pull origin main
git push -f origin main
zijn
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
- Eerst,
git add .
- Ten tweede,
git commit -m "message"
- 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