Fataal: niet mogelijk om vooruit te spoelen, GIT-pull-fout wordt afgebroken

Fataal: niet mogelijk om vooruit te spoelen, GIT-pull-fout wordt afgebroken

Als we proberen git pull- of git merge-bewerkingen uit te voeren, krijgen we een foutmelding dat het proces zal worden afgebroken. Als we proberen het proces te forceren met behulp van –ff-only, werkt dit niet en krijgen we dezelfde foutmelding. In dit bericht zullen we over dit probleem praten en kijken wat we kunnen doen als je de Fatale fout krijgt: niet mogelijk om vooruit te spoelen, GIT pull wordt afgebrokenfout .

Fataal: niet mogelijk om vooruit te spoelen, GIT-pull-fout wordt afgebroken

Fataal repareren: niet mogelijk om vooruit te spoelen, waardoor de GIT-pull-fout wordt afgebroken

Als u de foutmelding Fatal: Not Could Forward, Aborting GIT Pull krijgt, volgt u de onderstaande oplossingen om het probleem op te lossen.

  1. Trek aan de rebase
  2. Voeg de wijzigingen van de masterbranch samen in een nieuwe branch

Laten we er in detail over praten.

1] Trek met rebase

In plaats van het reguliere ‘git pull’ commando te gebruiken, kun je kiezen voor het ‘git pull –rebase’ commando. Deze opdracht haalt de laatste wijzigingen op van de externe vertakking en past vervolgens uw lokale commits toe bovenop de bijgewerkte vertakking. Deze methode helpt bij het oplossen van uiteenlopende brancheproblemen.

Hieronder volgen de opdrachten die u moet uitvoeren om met rebase te pullen.

Voer eerst de volgende opdracht uit om de problematische branched.

Laten we nu het ‘git pull –rebase’ commando gebruiken om remote branch veranderingen op te halen en daarbovenop lokale commits opnieuw af te spelen.

git pull --rebase origin <branch-name>

In het geval dat er geen conflicten zijn, zal Git de wijzigingen vrijwillig bovenop de bijgewerkte branch vastleggen. In geval van conflicten wordt het rebase-proces echter stopgezet en wordt u op de hoogte gesteld van de conflicterende bestanden. U kunt conflicten oplossen door een samenvoegtool te gebruiken of door bestanden handmatig te bewerken. Gebruik ‘git rebase –continue’ na het oplossen van conflicten.

Nadat het rebase-proces is voltooid, kunt u doorgaan met het pushen van uw wijzigingen naar de externe opslagplaats.

git push origin <branch-name>

Dit zal de truc voor je doen.

2] Voeg de wijzigingen van de masterbranch samen in een nieuwe branch

In het geval dat de lokale branch is opgenomen in de remote branch, kan men vrij eenvoudig de wijzigingen van de master branch samenvoegen in een nieuwe branch. U kunt de onderstaande opdrachten uitvoeren om hetzelfde te doen.

Voer eerst de volgende opdracht uit.

git pull

Vervolgens moeten we de onderstaande opdracht uitvoeren om een ​​branch & controleer de oorsprong/masterkop naar een lokale vestiging.

git checkout -b new_branch origin/master

In geval van samenvoegconflicten kunt u deze oplossen door de conflicterende bestanden te bewerken. Voer vervolgens de wijzigingen uit en voer deze door. Nadat u een nieuwe vertakking hebt gemaakt, kunt u eventuele wijzigingen van de hoofdvertakking er naadloos in samenvoegen.

Waarom is het niet mogelijk om snel vooruit te gaan en af ​​te breken als je probeert te trekken?

De fatale fout die zegt dat het niet mogelijk is om snel vooruit te gaan en af ​​te breken wanneer je probeert te pullen, betekent dat Git de wijzigingen niet automatisch kan samenvoegen. Ze worden voornamelijk veroorzaakt door conflicterende wijzigingen tussen uw lokale vertakking en de externe vertakking en/of de afwezigheid van de lokale vertakking in de externe vertakking.

Wat is snel doorsturen in git?

In Git is snel vooruitspoelen een soort samenvoeging die plaatsvindt wanneer de HEAD van de doelvertakking direct bereikbaar is vanaf de HEAD van de bronvertakking. Dus in principe hebben er geen nieuwe commits plaatsgevonden op de doelbranch sinds de bronbranch werd aangemaakt. Daarom verplaatst Git eenvoudigweg de HEAD pointer van de doelbranch naar de HEAD van de bronbranch, zonder een nieuwe merge commit te creëren.

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *