Ponovno baziranje
Rebase
je proces mijenjanja povijesti predanja grane primjenom obveza iz druge grane. Umjesto korištenja merge
za kombiniranje promjena, rebase
omogućuje vam da unesete insert
nove obveze u povijest predaja trenutne grane bez stvaranja obveza spajanja.
Na primjer, recimo da imate dvije grane: feature-branch
i main
. Radite na feature-branch
i želite primijeniti najnovije obveze iz main
na svoju trenutnu granu. Možete koristiti rebase da to postignete:
git checkout feature-branch
git rebase main
Kada pokrenete ovu naredbu, Git će preuzeti obveze iz main
i primijeniti ih na feature-branch
. To znači da će se sva urezivanja na feature-branch
pojaviti nakon urezivanja iz main
. Rezultat je čišća i čitljivija povijest predanja na feature-branch
.
Međutim, kada koristite rebase, važno je napomenuti da promjena povijesti predaje može utjecati na javno dijeljene grane. Stoga, ako ste već gurnuli predaje iz vaše trenutne grane u udaljeno spremište, općenito se savjetuje da ne koristite rebase na toj grani kako biste izbjegli sukobe i neurednu povijest predaja.
Branch
Prebacivanje
Promjena grana u Gitu odnosi se na proces prelaska iz jedne grane u drugu. Kada mijenjate grane, Git pomiče pokazivač HEAD na novu granu, omogućujući vam da radite na toj grani i unosite promjene bez utjecaja na druge grane.
Na primjer, recimo da imate ogranke feature-branch
i main
. Da biste se prebacili na feature-branch
, upotrijebili biste sljedeću naredbu:
git checkout feature-branch
Nakon promjene grana, možete napraviti promjene u radnom imeniku. Sve naredbe commit
, add
, i checkout
primjenjivat će se na trenutnu granu.
Na primjer, ako dodate novu datoteku i predate je na feature-branch
, samo će ta grana sadržavati predaju, dok main
ostaje nepromijenjena. To vam omogućuje da razvijete zasebne značajke, popravite greške ili neovisno radite na različitim verzijama koda. Možete se prebacivati između grana kad god je potrebno za rad na svakoj grani zasebno.