Git Rebase en Branch schakelen

Opnieuw baseren

Rebase is het proces van het veranderen van de commit geschiedenis van een branch door commits van een andere branch toe te passen. In plaats van te gebruiken merge om wijzigingen te combineren, rebase kun je insert nieuwe commits in de commit-geschiedenis van de huidige branch toevoegen zonder merge-commits te maken.

Stel dat u bijvoorbeeld twee branches heeft: feature-branch en main. Je werkt aan feature-branch en wilt de laatste commits toepassen van main op je huidige branch. U kunt rebase gebruiken om dit te bereiken:

git checkout feature-branch  
git rebase main  

Wanneer je dit commando uitvoert, zal Git de commits nemen van main en toepassen op feature-branch. Dit betekent dat alle commits op feature-branch verschijnen na de commits van main. Het resultaat is een schonere en beter leesbare commit-geschiedenis op feature-branch.

Bij het gebruik van rebase is het echter belangrijk op te merken dat het wijzigen van de commit-geschiedenis van invloed kan zijn op openbaar gedeelde branches. Daarom, als je al commits van je huidige branch naar een remote repository gepusht hebt, is het over het algemeen aangeraden om geen rebase op die branch te gebruiken om conflicten en een rommelige commit geschiedenis te vermijden.

 

Branch schakelen

Branch-switching in Git verwijst naar het proces van het verplaatsen van de ene branch naar de andere. Wanneer je van branch wisselt, verplaatst Git de HEAD-pointer naar de nieuwe branch, waardoor je aan die branch kunt werken en wijzigingen kunt aanbrengen zonder andere branches te beïnvloeden.

Stel dat u bijvoorbeeld branches feature-branch en main. Om over te schakelen naar feature-branch, gebruikt u de volgende opdracht:

git checkout feature-branch

Nadat u van branche bent gewisseld, kunt u wijzigingen aanbrengen in de werkdirectory. Alle commit, add, en checkout commando's zijn van toepassing op de huidige branch.

Als je bijvoorbeeld een nieuw bestand toevoegt en het vastlegt op feature-branch, zal alleen die branch de vastlegging bevatten, terwijl het main onaangetast blijft. Hierdoor kunt u afzonderlijke functies ontwikkelen, bugs oplossen of onafhankelijk aan verschillende versies van de code werken. U kunt wanneer nodig wisselen tussen branches om aan elke branch afzonderlijk te werken.