Git 2.54 Introduces Experimental ‘git history’ Command
Git 2.54 adds the experimental git history command with reword and split sub‑commands, a new hook‑definition method outside the traditional Git/hook directory, default geometry repack, and several minor improvements, offering developers a simpler way to rewrite repository history.
Experimental command git history
Git 2.54 introduces an experimental git history command designed to simplify rewriting repository history compared with existing tools such as git rebase -i or git filter-branch.
Supported sub‑commands
git history reword [commit]– opens the configured editor, lets the user edit the commit message, and automatically rewrites all descendant commits. git history split [commit] – interactively splits a single commit into two; the user selects which hunks to move to a new parent commit, and the tool creates the new commit and re‑parents subsequent history.
Both sub‑commands operate on the current branch and preserve merge topology where possible. They are marked experimental and can be disabled with git config --global experimental.gitHistory false.
Other enhancements in 2.54
Hooks can now be defined in .gitconfig using the hook.<name> syntax, allowing commands outside the traditional .git/hooks directory to be invoked.
Geometry‑based repack is enabled by default during git gc, improving packfile layout for large repositories.
Various bug fixes and performance improvements, e.g., faster delta compression for packfiles larger than 1 GB.
References
GitHub Blog – Highlights from Git 2.54: https://github.blog/open-source/git/highlights-from-git-2-54/
Git mailing‑list announcement: https://lore.kernel.org/lkml/[email protected]/
21CTO
21CTO (21CTO.com) offers developers community, training, and services, making it your go‑to learning and service platform.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
