Wijzigingen verplaatsen naar een andere vertakking in Git

0
141

Hoewel Git je dagelijkse veranderingen bijhoudt, beschikt het ook over systemen zoals branches die je helpen bij het organiseren. Als je echter niet oppast, kun je problemen krijgen zoals commits en wijzigingen aan de verkeerde branch, die moeilijk op te lossen zijn zonder de juiste commando's.

Bewegende wijzigingen (als u zich nog niet hebt vastgelegd)

Git waakt over je hele map, maar wijzigingen die je aanbrengt in bestanden zijn niet gebonden aan een specifieke branch totdat je ze vastlegt. Je kunt vertakkingen verplaatsen en die wijzigingen meenemen.

De eenvoudigste optie is om gewoon van vertakking te wisselen, maar dit werkt alleen als de twee vertakkingen die je target een overeenkomende geschiedenis:

git checkout-functie

Je kunt dit op een paar manieren omzeilen. De eerste is door een nieuwe branch te maken en vervolgens de uiteenlopende geschiedenissen samen te voegen:

git checkout -b tempfeature git checkout feature git merge tempfeature

Je kunt git stash ook gebruiken om wijzigingen voor later op te slaan en ze opnieuw toe te passen op een nieuwe branch:

git stash git switch feature git stash apply

Commits verplaatsen ( Als u al toegezegd heeft)

Als je al een commit hebt gedaan, maak je geen zorgen. Je kunt altijd een zachte reset uitvoeren, dus commits zijn pas definitief als ze naar de externe broncontrole zijn gepusht. Als je dat al hebt gedaan, kun je het probleem nog steeds oplossen, maar de registratie van je fout zal voortleven in je Git-geschiedenis, dus het is het beste om het lokaal te doen voordat je collega's het zien.

Advertentie< br>

Om commits ongedaan te maken, kun je eenvoudigweg een zachte reset uitvoeren, meestal alleen de laatst gemaakte commit ongedaan maken, maar je kunt ook een verwijzing naar de commit-ID doorgeven:

git reset HEAD~1

Dit zal laat je achter bij de “heb je nog niet vastgelegd” state, waarna je de bovenstaande methoden kunt gebruiken om het probleem op te lossen.

Als alternatief kun je git cherry-pick gebruiken. Dit commando kopieert commits van de ene branch naar de andere, en is een leuke manier om commits uit te zoeken en ze op een schone manier naar nieuwe branches te verplaatsen.

Voer git log uit om de ID te vinden van de commit die je wilt gebruiken revert:

git log

Bekijk vervolgens de feature branch, aangenomen dat je wijzigingen zijn doorgevoerd, en voer cherry-pick uit:

git switch feature git cherry-pick Advertisement

Daarna , zal er nog steeds een dubbele commit zijn op de hoofdbranch. Je kunt dit resetten en de wijzigingen weggooien als de feature branch in de juiste volgorde staat, of het behouden en Git het laten uitzoeken zodra je merged.