Git Rebase și Branch Comutare

Rebaza

Rebase este procesul de modificare a istoricului de comitere a unei ramuri prin aplicarea de comiteri dintr-o altă ramură. În loc să utilizați merge pentru a combina modificări, rebase vă permite să introduceți insert noi comite în istoricul de comitere al ramurului curent fără a crea comite de îmbinare.

De exemplu, să presupunem că aveți două ramuri: feature-branch și main. Lucrezi feature-branch și vrei să aplici cele mai recente comisioane de main la filiala ta actuală. Puteți folosi rebase pentru a realiza acest lucru:

git checkout feature-branch  
git rebase main  

Când rulați această comandă, Git va prelua commit-urile main și le va aplica pe feature-branch. Aceasta înseamnă că toate commit-urile pe feature-branch vor apărea după commit-urile de la main. Rezultatul este un istoric de comitere mai curat și mai lizibil pe feature-branch.

Cu toate acestea, atunci când utilizați rebase, este important să rețineți că modificarea istoricului de comitere poate afecta ramurile partajate public. Prin urmare, dacă ați împins deja comiterile din ramura dvs. curentă într-un depozit de la distanță, este în general sfătuit să nu utilizați rebase pe acea ramură pentru a evita conflictele și un istoric dezordonat de comitere.

 

Branch Comutare

Schimbarea de ramuri în Git se referă la procesul de trecere de la o ramură la alta. Când schimbați ramuri, Git mută indicatorul HEAD către noua ramuri, permițându-vă să lucrați la acea ramuri și să faceți modificări fără a afecta alte ramuri.

De exemplu, să presupunem că aveți ramuri feature-branch și main. Pentru a comuta la feature-branch, veți folosi următoarea comandă:

git checkout feature-branch

După schimbarea ramurilor, puteți face modificări în directorul de lucru. Toate comenzile commit, add, și checkout se vor aplica ramurii curente.

De exemplu, dacă adăugați un fișier nou și îl comiteți pe feature-branch, numai acea ramură va conține commit-ul, în timp ce main rămâne neafectat. Acest lucru vă permite să dezvoltați funcții separate, să remediați erori sau să lucrați la diferite versiuni ale codului în mod independent. Puteți comuta între ramuri ori de câte ori este necesar pentru a lucra separat pe fiecare ramură.