Skip to main content

Concepts

How gitq models a stack, and what it does to your repo when you run a command.

๐Ÿ“„๏ธThe cascade

A cascade is gitq rebasing a whole tree of branches in one pass, parents before children, each branch onto its parent's new head. gitq sync is the cascade you will run most, and it is what this page mostly describes. Of the surgery commands, only reparent runs this same cascade: after its own move succeeds, it cascades the moved branch's descendants through it. fold and split --files never cascade descendants at all, and absorb restacks its descendants through a separate loop with its own, much simpler, conflict behavior. The other cascades below says exactly what each command does.