Slovník / pojem

Rebase

Přeskládání commitů větve nad jiný základ tak, aby historie zůstala přehledná a lineární.

// pro běžného uživatele

Srozumitelně

Rebase je způsob, jak srovnat historii změn do jedné přehledné řady. Vezme vaše commity a přeskládá je tak, jako byste je psali až nad aktuální hlavní verzí. Výsledná historie je pak čistá a snadno se v ní čte, co se postupně dělo.

Má to jedno pravidlo — rebase mění historii, takže se nehodí na věci, které už sdílíte s ostatními. Na vlastní rozpracované větvi je ale skvělý pomocník, jak udržet pořádek.
// pro pokročilé

Do hloubky

Rebase přenáší commity z jedné základny na jinou tím, že je znovu aplikuje — vznikají nové commity s novými hashi, proto jde o přepis historie. Výsledkem je lineární historie bez merge commitů, což zpřehledňuje git log. Interaktivní režim (rebase -i) umožňuje commity slučovat (squash), přejmenovávat, přeuspořádat nebo zahodit. Zlaté pravidlo zní: nerebasovat commity, které už někdo stáhl, protože rozbijete cizí historii. Při vynuceném pushi po rebase je bezpečnější --force-with-lease než --force, aby nedošlo k přepsání cizí práce.

Otestujte se v kvízu

Potřebujete s tím pomoct v praxi? Postavím vám web nebo aplikaci na míru — a vysvětlím to lidsky.

Napište mi →