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ă.