Sobes.tech
Junior — Middle

Vysvetlite princíp fungovania príkazu rebase v systéme správy verzií Git a v čom sa líši od merge.

sobes.tech AI

Odpoveď od AI

Príkaz git rebase saťahuje alebo 'prepíše' sériu commitov na novú základňu, teda na iný commit. Umožňuje vziať zmeny z jednej vetvy a 'prehrať' ich na inú vetvu, čím vytvára lineárnu históriu bez ďalších merge commitov.

Rozdiely od git merge:

  • git merge spojí dve vetvy a vytvorí nový merge commit, ktorý zachováva históriu oboch vetiev s rozvetveniami.
  • git rebase presunie commity jednej vetvy na vrchol inej, prepíše históriu a urobí ju lineárnou.

Príklad:

Ak máte vetvu feature, odvodzovanú od mastera, a master bol aktualizovaný, potom:

  • git merge master vo feature vytvorí merge commit, ktorý spojí zmeny.
  • git rebase master vo feature presunie vaše commity nad aktuálny stav mastera, akoby ste začali pracovať od posledného stavu mastera.

Rebase je užitočný na udržiavanie čistej histórie, ale vyžaduje opatrnosť pri práci s verejnými vetvami, aby ste neprepísali zdieľanú históriu.