Sobes.tech
Junior — Middle

Vysvětlete princip fungování příkazu rebase v systému správy verzí Git a v čem se liší od merge.

sobes.tech AI

Odpověď od AI

Příkaz git rebase se používá k přesunutí nebo 'přepsání' série commitů na novou základnu, tj. na jiný commit. Umožňuje vzít změny z jedné větve a 'přehrát' je na jinou větev, čímž vznikne lineární historie bez dalších merge commitů.

Rozdíly od git merge:

  • git merge spojí dvě větve a vytvoří nový merge commit, který zachovává historii obou větví s větveními.
  • git rebase přesune commity jedné větve na vrchol jiné, přepisuje historii a činí ji lineární.

Příklad:

Pokud máte větev feature, odvozenou od masteru, a master byl aktualizován, pak:

  • git merge master ve feature vytvoří merge commit, který spojí změny.
  • git rebase master ve feature přesune vaše commity nad aktuální stav masteru, jako byste začali pracovat od posledního stavu masteru.

Rebase je užitečný pro udržení čisté historie, ale vyžaduje opatrnost při práci s veřejnými větvemi, aby nedošlo k přepsání sdílené historie.