commit-rewriter
An open-source command-line tool developed by Simon Willison, designed to assist users in rewriting Git commit messages.
Timeline (last 90 days)
commit-rewriter is a command-line tool for rewriting Git commit history, run via uvx
commit-rewriter version 0.2 added support for non-default branches
commit-rewriter is an open-source tool developed by developer Simon Willison
Adding the --branch parameter to the commit-rewriter command allows you to specify the target branch
After running, commit-rewriter launches a local Web interface.
The commit-rewriter Web interface provides input fields for searching by message, author, or hash, as well as a filter checkbox to show only edited commits; the main panel provides an editable text area for each commit and supports expanding to view the full diff.
After commit editing, commit-rewriter first creates a timestamped branch based on the current repository state as a rollback backup, then rewrites from the first edited commit through to the latest commit.
commit-rewriter is currently at the 0.1 stage and is a small self-use tool the author hastily built to handle the Datasette security release, rather than a comprehensive solution.
Typical use cases for commit-rewriter include removing internal issue references and sensitive links before open-sourcing, cleaning up boilerplate commit messages generated by AI coding agents, and organizing commit history for release milestones.
commit-rewriter's timestamped backup branch strategy retains a local reference pointing to the original commit chain, ensuring the original objects are not garbage-collected by Git.
4 more timeline events
All Facts (13)
commit-rewriter is a command-line tool for rewriting Git commit history, run via uvx
50%UnverifiedAdding the --branch parameter to the commit-rewriter command allows you to specify the target branch
50%Unverifiedcommit-rewriter is an open-source tool developed by developer Simon Willison
50%UnverifiedAfter running, commit-rewriter launches a local Web interface.
50%UnverifiedThe commit-rewriter Web interface provides input fields for searching by message, author, or hash, as well as a filter checkbox to show only edited commits; the main panel provides an editable text area for each commit and supports expanding to view the full diff.
50%Unverifiedcommit-rewriter's timestamped backup branch strategy retains a local reference pointing to the original commit chain, ensuring the original objects are not garbage-collected by Git.
50%UnverifiedTypical use cases for commit-rewriter include removing internal issue references and sensitive links before open-sourcing, cleaning up boilerplate commit messages generated by AI coding agents, and organizing commit history for release milestones.
50%UnverifiedAfter commit editing, commit-rewriter first creates a timestamped branch based on the current repository state as a rollback backup, then rewrites from the first edited commit through to the latest commit.
50%UnverifiedThe commit-rewriter project originated from the author's need to clean up redundant content generated by programming agents and private repository issue IDs in early commits while preparing a Datasette security update for public release.
50%Unverifiedcommit-rewriter can be run without installation via uvx, with the command `uvx commit-rewriter path/to/repo`; the path argument can be omitted if the current directory is the target repository.
50%UnverifiedThe author stated that WebP support was introduced to generate illustration screenshots for his new tool commit-rewriter.
50%Unverifiedcommit-rewriter version 0.2 added support for non-default branches
50%UnverifiedSimon Willison released a Web tool called commit-rewriter, version 0.1, for batch editing commit messages in Git repositories.
50%