Git remade for agents (and better commits)

Ship big work as a stack of small commits. Each commit is its own pull request, and the bottom one merges first. floppygit handles the restacking on top of the git you already run, so your hooks and gh keep working.

curl -L .../floppygit_VERSION_darwin_arm64.tar.gz | tar -xz macOS · Apple silicon
floppygit push 3 stacked pull requests
auto-merge
The bottom PR merges first, and the stack follows.

How it works underneath

01

Stack metadata lives in git config

Each branch records its parent in git config, under branch.<name>.floppyParent. That is the whole model. A chain of one-commit branches, no sidecar file to drift out of sync with your repo.

02

One rebase moves the whole chain

fix and sync run one git rebase with autosquash and update-refs. Every branch above the change moves in the same pass, so the stack is never left half-updated. A conflict stops the run and prints the exact commands to finish it.

03

The bottom PR merges first, the stack follows

floppygit arms auto-merge on the bottom PR only. When it lands, sync rebases the rest onto main. The merged commit is patch-identical, so the rebase drops it and the next PR moves to the bottom.