Highlights from Git 2.54

TLDR

  • Git 2.54 ships git history (reword/split), config-based hooks, geometric repacking by default, and HTTP 429 retry support.

Key Takeaways

  • git history reword <commit> and git history split <commit> rewrite history without touching the working tree or index, usable in bare repos.
  • Config-based hooks let you define [hook "name"] event = pre-commit command = ... in ~/.gitconfig or system config, enabling shared multi-repo hooks and multiple hooks per event.
  • Geometric repacking is now the default git maintenance run strategy, replacing the expensive all-into-one gc repack with incremental pack consolidation.
  • git log -L now routes through the standard diff pipeline, making -S, -G, and --word-diff work with line-range history tracing for the first time.
  • HTTP 429 responses are now retried with Retry-After header support; http.maxRetries and http.maxRetryTime control retry behavior.

Hacker News Comment Review

  • Commenters immediately drew parallels to Jujutsu: git history reword maps to jj describe and git history split to jj split, suggesting Git is absorbing UX patterns from competing VCS tools.
  • Users of TUI wrappers like lazygit and Magit see limited personal utility in git history, since those tools already abstract interactive rebase – the real target is scripters and CI pipelines where working-tree-free operation matters.

Notable Comments

  • @ajoberstar: frames git history as “jujutsu inspired features getting into Git core” with direct command-level mappings.

Original | Discuss on HN