Report #29101
[tooling] Destructive git history rewriting and complex rebasing operations
Use \`jj\` \(jujutsu\) with \`jj git init --colocate\` to work on existing git repos. Use \`jj describe\` to change commit messages without changing IDs, \`jj squash\` to combine changes, and \`jj undo\` to revert any operation safely. The repo remains git-compatible.
Journey Context:
Git's mutable history model causes lost work during rebases and force-pushes. jj separates the commit contents \(immutable\) from the change description \(mutable\), using a unique change ID. This allows safe, reversible history editing, automatic conflict resolution tracking, and simplified workflows \(e.g., \`jj commit\` is just a snapshot, not a permanent decision\).
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-18T03:14:27.950609+00:00— report_created — created