Git Rebase og Branch bytte

Rebase

Rebase er prosessen med å endre forpliktelseshistorikken til en filial ved å bruke forpliktelser fra en annen filial. I stedet for å bruke merge for å kombinere endringer, rebase lar deg insert nye forpliktelser inn i gjeldende grens forpliktelseshistorikk uten å opprette sammenslåingsforpliktelser.

La oss for eksempel si at du har to grener: feature-branch og main. Du jobber med feature-branch og ønsker å bruke de siste forpliktelsene fra main din nåværende gren. Du kan bruke rebase for å oppnå dette:

git checkout feature-branch  
git rebase main  

Når du kjører denne kommandoen, vil Git ta forpliktelsene fra main og bruke dem på feature-branch. Dette betyr at alle commits på feature-branch vil vises etter commits fra main. Resultatet er en renere og mer lesbar forpliktelseshistorikk på feature-branch.

Men når du bruker rebase, er det viktig å merke seg at endring av forpliktelseshistorikk kan påvirke offentlig delte grener. Derfor, hvis du allerede har presset commits fra din nåværende gren til et eksternt depot, anbefales det generelt å ikke bruke rebase på den grenen for å unngå konflikter og en rotete commit-historikk.

 

Branch Veksling

Grenbytte i Git refererer til prosessen med å flytte fra en gren til en annen. Når du bytter gren, flytter Git HEAD-pekeren til den nye grenen, slik at du kan jobbe på den grenen og gjøre endringer uten å påvirke andre grener.

La oss for eksempel si at du har grener feature-branch og main. For å bytte til feature-branch bruker du følgende kommando:

git checkout feature-branch

Etter å ha byttet gren, kan du gjøre endringer i arbeidskatalogen. Alle commit, add, og checkout kommandoer vil gjelde for gjeldende gren.

For eksempel, hvis du legger til en ny fil og commiterer den på feature-branch, vil bare den grenen inneholde commit, mens main forblir upåvirket. Dette lar deg utvikle separate funksjoner, fikse feil eller arbeide med forskjellige versjoner av koden uavhengig. Du kan bytte mellom grener når det er nødvendig for å jobbe med hver gren separat.