afgewezen master -> master (niet vooruitspoelen)

Ik probeer mijn project te pushen (alle bestanden in een nieuwe repository). Ik volg de stappen, maar als ik push met git push -u origin master krijg ik deze foutmelding:

! [rejected]        master -> master (non-fast-forward)
error: failed to push some refs to '[email protected]:asantoya/projectnewbies.git'
To prevent you from losing history, non-fast-forward updates were rejected
Merge the remote changes (e.g. 'git pull') before pushing again.  See the
'Note about fast-forwards' section of 'git push --help' for details.

Ik kreeg deze fout vaak en weet niet wat ik moet doen.


Antwoord 1, autoriteit 100%

Zoals de foutmelding zegt: git pull voordat je probeert om git push te gebruiken. Blijkbaar loopt uw ​​lokale vestiging niet synchroon met uw trackingafdeling.

Afhankelijk van de projectregels en je workflow wil je misschien ook git pull --rebase gebruiken.


Antwoord 2, autoriteit 90%

OPMERKING: dit is nooit een aanbevolen gebruik van git. Hiermee worden wijzigingen op de afstandsbediening overschreven. Doe dit alleen als u 100% zeker weet dat uw lokale wijzigingen naar de externe master moeten worden gepusht.

Probeer dit: git push -f origin master


Antwoord 3, autoriteit 10%

dit commando werkte goed voor mij

git push -f origin master

Antwoord 4, autoriteit 10%

git push -f origin master

gebruik brute kracht 😉
Hoogstwaarschijnlijk probeer je een lokale map toe te voegen die je hebt gemaakt voordat je de repo op git aanmaakte.


Antwoord 5, autoriteit 8%

Ik heb deze fout zojuist ontvangen.

Ik heb een github-repository gemaakt nadat ik mijn lokale git-repository had gemaakt, dus ik moest de wijzigingen in local accepteren voordat ik naar github pushte. In dit geval was de enige wijziging het leesmij-bestand dat werd gemaakt als optionele stap bij het maken van de github-repository.

git pull https://github.com/*username*/*repository*.git master

repository-URL wordt hier vandaan gehaald op de github-pagina van het project:

voer hier de afbeeldingsbeschrijving in

Ik heb toen opnieuw geïnitialiseerd (dit is misschien niet nodig)

git init
git add .
git commit -m "update"

Druk vervolgens op :

git push

Antwoord 6, autoriteit 5%

Als git pull niet helpt, dan heb je waarschijnlijk je wijzigingen (A) gepusht en daarna git commit --amend gebruikt om nog wat wijzigingen toe te voegen ( B). Daarom denkt git dat je de geschiedenis kunt verliezen – het interpreteert B als een andere commit ondanks dat het alle wijzigingen van A bevat.

             B
            /
        ---X---A

Als niemand de repo wijzigt na A, dan kun je git push --force doen.

Als er echter wijzigingen zijn na A van een andere persoon:

             B
            /
        ---X---A---C

dan moet je die personenwijzigingen van A naar B (C->D) herberekenen.

             B---D
            /
        ---X---A---C

of los het probleem handmatig op. Ik had nog niet bedacht hoe ik dat moest doen.


Antwoord 7, autoriteit 5%

ik had een nieuwe repo gemaakt in github en ik had hetzelfde probleem, maar het had ook een probleem tijdens het ophalen, dus dit werkte voor mij.

maar dit wordt niet geadviseerd in repo’s die al veel codes hebben zoals deze
kan alles verpesten

git push origin master --force

Antwoord 8, autoriteit 5%

gebruik dit commando:

git pull --allow-unrelated-histories <nick name of repository> <branch name>

vind ik leuk:

git pull --allow-unrelated-histories origin master

deze fout treedt op wanneer projecten geen gemeenschappelijke voorouder hebben.


Antwoord 9, autoriteit 5%

WAARSCHUWING:

Gaan voor een ‘git pull‘ is niet ALTIJD een oplossing, dus wees voorzichtig. U kunt dit probleem tegenkomen (het probleem dat wordt genoemd in de Q) als u opzettelijk uw repositorygeschiedenis hebt gewijzigd. In dat geval verwart git je geschiedeniswijzigingen met nieuwe wijzigingen in je externe repo. Je zou dus voor een git push --force moeten gaan, omdat het aanroepen van git pull alle wijzigingen die je met opzet in je geschiedenis hebt aangebracht, ongedaan zal maken.


Antwoord 10, autoriteit 3%

Dit komt omdat je wat wijzigingen hebt aangebracht in je master, zodat het project je vraagt ​​om eerst te pullen. Als je het toch wilt pushen, kun je brute kracht gebruiken door dit te typen:

git push -f origin master

Vergeet niet om eerst uw wijzigingen vast te leggen:

git add .
git commit -m "Your commit message"

Antwoord 11, autoriteit 3%

Probeer dit commando: “git pull origin master”

Het werkte voor mij.

Controleer deze link: https://help.github. com/articles/dealing-with-non-fast-forward-errors


Antwoord 12, autoriteit 2%

Je moet doen

git branch

als de uitvoer zoiets is als:

* (no branch)
master

doe dan

git checkout master

Zorg ervoor dat je geen lopende vastleggingen hebt, want als je uitcheckt, gaan alle niet-vastgelegde wijzigingen verloren.


Antwoord 13, autoriteit 2%

! [afgewezen] meester -> master (niet vooruitspoelen)

Geen paniek, dit is zeer eenvoudig op te lossen. Het enige wat u hoeft te doen is een pull uit te geven en uw branch zal snel vooruitspoelen:

$ git pull myrepo master

Probeer dan opnieuw te pushen en alles zou in orde moeten zijn:

$ git push github master


Antwoord 14, autoriteit 2%

Dit overkwam mij toen ik op de ontwikkel-branch zat en mijn master-branch is niet met de laatste update.

Dus toen ik probeerde om git push vanuit de ontwikkeltak te gebruiken, had ik die fout.

Ik heb het opgelost door over te schakelen naar master branch, git pull, en dan terug te gaan om branch te ontwikkelen en git push.

$ git fetch && git checkout master
$ git pull
$ git fetch && git checkout develop
$ git push

Antwoord 15, autoriteit 2%

Ik had dit probleem op een ontwikkelmachine. De dev branch pushte prima, maar de
de master branch gaf me (terwijl git pushing toen ik in de dev branch was):

! [rejected]        master -> master (non-fast-forward)

Dus ik probeerde:

git checkout master
git pull

Dat gaf me:

You asked me to pull without telling me which branch you
want to merge with, and 'branch.master.merge' in
your configuration file does not tell me, either.

Ik ontdekte dat de master branch ontbrak in .git/config en voegde toe:

[branch "master"]
    remote = origin
    merge = refs/heads/master

Daarna werkte git push ook prima op de dev branch.


Antwoord 16, autoriteit 2%

Mijn afstandsbediening was niet gesynchroniseerd met de lokale, dus dit werkte voor mij

git pull --rebase

en zorg ervoor dat wanneer je git pull opnieuw doet, het moet zeggen Al up-to-date
en nu ben je klaar om naar de oorsprong te pushen

ervan uitgaande dat u al git remote add origin remote repository URL

doen

`git push origin master`  

De schermafbeelding zegt alles
voer hier de afbeeldingsbeschrijving in

U kunt dit ook doen

  1. git stash (slaat tijdelijk niet-toegewezen werk op)
  2. git pull (maak je lokale en externe synchroon)
  3. git stash pop (geef je ongecommitteerde wijzigingen terug)
  4. git push

Antwoord 17

Ik had hetzelfde probleem.
Ik gebruik Git Totoise.
Klik met de rechtermuisknop ->TotoiseGit -> Opruimen .
Nu kun je naar Github pushen
Bij mij werkte het prima 😀


Antwoord 18

Dit komt omdat je tegenstrijdige wijzigingen hebt aangebracht in de master. En je repository-server kan je dat niet vertellen met deze woorden, dus het geeft deze fout omdat het niet aan hem is om deze conflicten voor je op te lossen, dus hij vraagt ​​je om het zelf te doen. Als ?

1- git pull
Dit zal uw code van uw repository samenvoegen met uw code van uw sitemaster.
Dus conflicten worden getoond.

2- behandel deze handmatige conflicten.

3-

git push origin master

En presto, je probleem is opgelost.


Antwoord 19

Dit kan ook worden veroorzaakt door een naamfout die is veroorzaakt bij het geven van een naam aan de opslagplaats.
Als een van de bovenstaande antwoorden niet heeft gewerkt. Dit werkte voor mij:

Verwijder die repo en maak een nieuwe en probeer de volgende opdrachten opnieuw:

cd 'Local Directory Path'
git remote add origin *your_git_name.git*
git push -u origin master

als het toevoegen van oorsprongshows al bestaat, gebruik dan dit:

git remote set-url origin *your_git_name.git*

Antwoord 20

Het enige dat ik kon oplossen, was door de lokale en git repo te verwijderen en aan beide kanten weer hetzelfde te maken. Werkt voorlopig prima.


Antwoord 21

Als iemand deze fout heeft terwijl hij probeert naar heroku te pushen, vervang dan gewoon ‘origin’ door ‘heroku’
zoals dit:
git push -f heroku master


Antwoord 22

Probeer dit, in mijn geval werkt het

git rebase --abort

LEAVE A REPLY

Please enter your comment!
Please enter your name here

20 + 16 =

Other episodes