The branch is clean. The history is perfect. Then you pull from upstream, run git rebase, and everything goes sideways.
Git rebase chaos testing is about making that disaster intentional—on your terms. It is the deliberate act of breaking and reshaping commit history in a controlled environment to expose hidden weaknesses in workflow, tooling, and process.
Traditional testing checks the code. Chaos testing checks the resilience of the humans and systems behind it. A rebase is one of Git’s sharpest tools. It rewrites history. Applied carelessly, it destroys context, breaks CI pipelines, and creates merge conflicts that spread across the project like fire. Applied with purpose in chaos testing, it reveals exactly where your development process will break under stress.
Start by setting up a safe, isolated repository. Clone your main branch. Add synthetic commits designed to conflict—change the same lines in multiple branches, alter commit messages, reorder dependencies. Then run aggressive git rebase operations against these branches. Change bases to old commits. Stack rebases. Interrupt them mid-way. Document the failure states.