● LIVE   Breaking News & Analysis
Bitvise
2026-05-05
Open Source

Git 2.54 Debuts Experimental 'git history' Command for Simpler Commit Rewriting

Git 2.54 introduces experimental 'git history' command for simpler commit rewording and splitting, avoiding complex rebase workflows.

Breaking: Git 2.54 Released with New History Rewriting Tool

The open-source Git project has released version 2.54, introducing an experimental git history command that streamlines common history rewriting tasks. This release includes contributions from over 137 developers, 66 of whom are first-time contributors.

Git 2.54 Debuts Experimental 'git history' Command for Simpler Commit Rewriting
Source: github.blog

"Git history is designed for the simple cases where interactive rebase feels like overkill," said a Git core team member. "It handles reword and split operations without touching your working tree."

Background

Historically, Git offered git rebase -i for rewriting commits, but its flexibility came with complexity. Users needed to create an interactive todo list, mark commits for editing, and resolve potential conflicts.

"For fixing a typo in a message three commits back, rebase required too much setup," explained a GitHub engineer. "We wanted a targeted alternative."

What This Means

The git history command operates directly on commits without modifying the working directory or index. It supports two operations:

Git 2.54 Debuts Experimental 'git history' Command for Simpler Commit Rewriting
Source: github.blog
  • reword <commit>: Opens the editor for that commit’s message and rewrites it in place, updating descendant branches.
  • split <commit>: Allows interactively splitting a commit into two by selecting hunks, similar to git add -p.

"This is a game-changer for simple edits," said a senior developer. "It works even in bare repositories."

However, git history has limitations: it refuses to operate on histories containing merge commits and will not proceed if a merge conflict would arise. It is built on Git's replay infrastructure, which was extracted into a library for this release.

For more details on the full changelog, see the official release notes.