Menu

Categories

Tags

Git 2.54 adds a simpler history command and built-in hooks

April 21, 2026 | Source: github | Developer | 202 views 0 comments

Git 2.54 is out, and GitHub engineer Taylor Blau just wrapped up the highlights for both 2.53 and 2.54 in the official blog. The big-ticket items? An experimental git history command and a new, configurable hooks system.

The new git history command is for simple commit rewrites. It supports two subcommands: reword (to change a commit message) and split (to interactively break one commit into two). It doesn't touch your working directory or index, and it even works in bare repositories. The idea is to offer a more direct path than the whole git rebase -i routine with its todo lists and conflict resolution. There are some limitations, though: it doesn't handle merge commits, and it'll bail if it hits a conflict. The interface is still considered experimental and could change.

Configurable hooks solve an old, annoying problem: sharing hooks across repositories. Before 2.54, hooks were just scripts you had to manage individually in each repo's .git/hooks directory. Now, you can define them in your ~/.gitconfig, system-wide config, or per-repo config using a [hook "name"] section with event=... and command=.... You can attach multiple hooks to the same event, see where they're defined with git hook list, and disable individual ones with `hook.

.enabled=false`. It's basically Git absorbing the core functionality of third-party tools like husky and pre-commit. Other changes in this release: git maintenance now defaults to the "geometric" strategy introduced in 2.52, which merges packfiles in a geometric progression instead of the old gc approach. HTTP transport will now retry on a 429 (Too Many Requests) response. You can combine git log -L with the -S or -G pickaxe options. And alias names now support non-ASCII characters.
Tags: #Github

Leave a Reply

Your email address will not be published. Required fields are marked *