Git Rebase és Branch Váltás

Rebase

Rebase egy ág véglegesítési előzményének megváltoztatásának folyamata egy másik ágból származó véglegesítések alkalmazásával. merge A változtatások kombinálása helyett rebase lehetővé teszi, hogy insert új véglegesítéseket helyezzen be az aktuális ág véglegesítési előzményeibe anélkül, hogy összevonási véglegesítéseket hozna létre.

Tegyük fel például, hogy két ága van: feature-branch és main. Jelenleg dolgozol feature-branch, és alkalmazni szeretnéd a legfrissebb véglegesítéseket a main jelenlegi fiókodban. A rebase segítségével ezt elérheti:

git checkout feature-branch  
git rebase main  

Amikor ezt a parancsot futtatja, a Git átveszi a véglegesítéseket innen, main és alkalmazza őket a következőre feature-branch. Ez azt jelenti, hogy az összes commit feature-branch a következőtől származó commit után fog megjelenni main. Az eredmény egy tisztább és olvashatóbb végrehajtási előzmények a feature-branch.

A rebase használatakor azonban fontos megjegyezni, hogy a véglegesítési előzmények módosítása hatással lehet a nyilvánosan megosztott ágakra. Ezért, ha az aktuális ágból már leküldte a commit-ot egy távoli tárolóba, általában nem tanácsos használni az újrabázist ezen az ágon, hogy elkerülje az ütközéseket és a rendetlen végrehajtási előzményeket.

 

Branch Átkapcsolás

Az ágváltás a Gitben az egyik ágról a másikra való áttérés folyamatára utal. Amikor ágat vált, a Git áthelyezi a HEAD mutatót az új ágra, lehetővé téve az adott ágon való munkát és változtatásokat anélkül, hogy ez más ágakat érintene.

Tegyük fel például, hogy van fiókja feature-branch és main. A következőre váltáshoz feature-branch használja a következő parancsot:

git checkout feature-branch

Elágazás váltása után a munkakönyvtárban módosításokat végezhet. Az összes commit, add, és checkout parancs az aktuális ágra vonatkozik.

Például, ha hozzáad egy új fájlt, és véglegesíti azt a -n feature-branch, akkor csak ez az ág fogja tartalmazni a véglegesítést, de ez main nem érinti. Ez lehetővé teszi különálló szolgáltatások fejlesztését, hibák kijavítását vagy a kód különböző verzióinak önálló kezelését. Bármikor válthat az ágak között, ha az egyes ágakon külön kell dolgozni.