The stack model: metadata storage (in local git config), the parent/child
branch graph, and the restack algorithm that keeps descendants rebased onto
their parents.
A "stack" is a chain (or tree) of branches rooted at the trunk. Each tracked
branch records two pieces of metadata in git config:
branch.<name>.jabrParent — the branch it is stacked on
branch.<name>.jabrBase — the parent tip SHA it was last based on
The stored base is what makes restacking exact: git rebase --onto <new-parent-tip> <stored-base> <branch> replays only the branch's own commits
onto the moved parent, never duplicating the parent's commits.
The stack model: metadata storage (in local git config), the parent/child branch graph, and the restack algorithm that keeps descendants rebased onto their parents.
A "stack" is a chain (or tree) of branches rooted at the trunk. Each tracked branch records two pieces of metadata in git config:
branch.<name>.jabrParent— the branch it is stacked onbranch.<name>.jabrBase— the parent tip SHA it was last based onThe stored base is what makes restacking exact:
git rebase --onto <new-parent-tip> <stored-base> <branch>replays only the branch's own commits onto the moved parent, never duplicating the parent's commits.