Ik heb een nieuwe repo gemaakt, deze gekloond, bestanden aan de directory toegevoegd, ze toegevoegd met add -A
, wijzigingen doorgevoerd en wanneer ik probeer te pushen met behulp van git push <repo name> master
ik krijg:
hint: Updates zijn afgewezen omdat de afstandsbediening werk bevat dat je niet lokaal hebt. Dit wordt meestal veroorzaakt door een andere repository die naar dezelfde ref pusht. Misschien wilt u eerst de wijzigingen op afstand samenvoegen (bijv.
hint: ‘git pull’) voordat je weer pusht.
Dit lijkt niet logisch omdat het een nieuwe repo is en alleen een leesmij-bestand bevat.
Antwoord 1, autoriteit 100%
Dit gebeurt als je een nieuwe github-repo hebt geïnitialiseerd met README
en/of LICENSE
-bestand
git remote add origin [//your github url]
//pull those changes
git pull origin master
// or optionally, 'git pull origin master --allow-unrelated-histories' if you have initialized repo in github and also committed locally
//now, push your work to your new repo
git push origin master
Nu kun je je repository naar github pushen. Kortom, je moet die nieuwe geïnitialiseerde bestanden samenvoegen met je werk. git pull
haalt en voegt voor je samen. Je kunt ook ophalen en samenvoegen als dat bij je past.
Antwoord 2, autoriteit 34%
De fout komt mogelijk door de verschillende structuur van de code die je aan het plegen bent en die aanwezig is op GitHub. Het creëert conflicten die kunnen worden opgelost door
git pull
Samenvoegen van conflicten oplossen:
git push
Als je bevestigt dat je nieuwe code in orde is, kun je het volgende gebruiken:
git push -f origin master
Waar -f
staat voor “force commit”.
Antwoord 3, autoriteit 5%
Als dit je eerste push is
verander gewoon de
git push <repo name> master
wijzig het zo!
git push -f <repo name> master
Antwoord 4, autoriteit 3%
U kunt verwijzen naar: Hoe om te gaan met “weigeren om niet-gerelateerde geschiedenissen samen te voegen” fout:
$ git pull --allow-unrelated-histories
$ git push -f origin master
Antwoord 5
Ik heb deze stappen gevolgd:
Trek aan de master:
git pull origin master
Hiermee wordt uw lokale opslagplaats gesynchroniseerd met de Github-opslagplaats. Voeg je nieuwe bestand toe en dan:
git add .
Voeg de wijzigingen door:
git commit -m "adding new file Xyz"
Druk tot slot op de oorspronkelijke master:
git push origin master
Ververs uw Github-repo, u zult de nieuw toegevoegde bestanden zien.
Antwoord 6
De meegeleverde antwoorden werkten niet voor mij.
Ik had een lege repo op GitHub met alleen het LICENTIE-bestand en een enkele lokale commit. Wat werkte was:
$ git fetch
$ git merge --allow-unrelated-histories
Merge made by the 'recursive' strategy.
LICENSE | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)
create mode 100644 LICENSE
Ook voor merge
wil je misschien:
$ git branch --set-upstream-to origin/master
Branch 'master' set up to track remote branch 'master' from 'origin'.
Antwoord 7
Als u Visual S2019 gebruikt, maakt u een nieuwe lokale vertakking aan zoals hieronder wordt weergegeven en pusht u de wijzigingen naar de repo.
Antwoord 8
Het probleem is dat de local niet up-to-date is met de master-branch, daarom moeten we de code ophalen voordat deze naar de git wordt gepusht
git add .
git commit -m 'Comments to be added'
git pull origin master
git push origin master