New Experimental Command
The open-source Git project has released version 2.54, bringing a groundbreaking experimental command: git history. This tool targets the most common commit rewriting tasks—rewording messages and splitting commits—without the heavyweight process of an interactive rebase.

“For developers who just need to fix a typo in a recent commit or carve a change into two, this command removes the overhead of setting up a rebase todo list,” said Taylor Blau, a Git maintainer at GitHub. “It’s designed for speed and simplicity.”
The release includes contributions from over 137 developers, 66 of whom are first-time contributors. It covers highlights from both Git 2.53 and 2.54.
How It Works
git history reword <commit> opens your editor with the target commit’s message and rewrites it in place, automatically updating descendant branches. Unlike interactive rebase, it does not touch your working tree or index, and it even works in bare repositories.
git history split <commit> lets you interactively carve a commit into two by selecting hunks. The interface mirrors git add -p, guiding you through hunk selection step by step. After you choose which hunks belong to a new parent commit, Git creates that new commit and rewrites the original commit’s history accordingly.
However, the command has intentional limitations: it refuses to operate on histories containing merge commits and will not execute any operation that could cause a merge conflict. “It’s meant for targeted, non‑interactive rewrites—not open‑ended history manipulation,” Blau emphasized.
Background: The Evolution of Git History Rewriting
Git has long offered tools to rewrite repository history. The interactive rebase (git rebase -i) is immensely flexible—allowing reordering, squashing, editing, and dropping commits—but its complexity can be overkill for simple tasks.

“An interactive rebase operates on a range of commits, updates your working tree and index, and can leave you in a conflicted state,” explained Emily Chen, a Git contributor. “For a one‑commit message fix, users shouldn’t have to navigate that entire pipeline.”
The new git history command is built on the core machinery of git replay, which has been extracted into a reusable library during this development cycle.
What This Means for Developers
By isolating simple rewriting operations, Git 2.54 reduces friction in day‑to‑day version control. Developers can fix mistakes or reorganize recent commits without risking merge conflicts or disrupting their current working state.
Support for bare repositories makes the command particularly useful for server‑side or CI environments. Meanwhile, the avoidance of merge conflicts ensures that history remains clean and predictable.
“This is a quality‑of‑life improvement that many teams will appreciate,” Blau noted. “It makes Git more approachable for newcomers while giving power users a faster path for common workflows.”
For complete details, see the full release notes or explore the background section above.