Git 2.54公開、履歴書き換え新コマンドと設定ベースフック導入

Wordワークフロー

履歴操作の簡素化

git historyコマンド新設
rewordでコミットメッセージ即修正
splitでコミットの分割が容易に
作業ツリー非接触で安全に動作

フックと保守の進化

設定ファイルでフック定義が可能に
複数フックの同一イベント実行対応
geometric repackが既定戦略に
HTTP 429リトライを自動処理
詳細を読む

オープンソースのGitプロジェクトは2026年4月20日、Git 2.54を正式にリリースしました。137人以上のコントリビューター(うち66人が新規)による開発成果で、前バージョン2.52以降の2リリース分の機能強化が含まれています。今回の目玉は、履歴書き換えを簡単にする新コマンドgit historyと、Git設定ファイルでフックを定義できる仕組みの導入です。

新コマンドgit historyは、git rebase -iでは大げさすぎる単純な履歴修正を想定した実験的機能です。git history reword でコミットメッセージを直接編集でき、作業ツリーやインデックスに触れずに動作します。git history split ではコミットを対話的に2つに分割可能で、ベアリポジトリでも使えるのが特徴です。マージコミットを含む履歴やコンフリクトが発生する操作には対応しない設計となっています。

設定ベースのフック機能により、従来は.git/hooksディレクトリにスクリプトを配置する必要があったGitフックを、gitconfigで宣言的に定義できるようになりました。ユーザー共通の~/.gitconfigやシステム全体の設定に記述でき、同一イベントに複数のフックを登録して順次実行させることも可能です。git hook listコマンドで設定済みフックの一覧と定義元を確認できます。

リポジトリ保守の面では、Git 2.52で導入されたgeometric repacking戦略がデフォルトに昇格しました。git maintenance runを実行すると、従来のgcに代わりパックファイルを幾何級数的に統合する効率的な方式が自動適用されます。全パックを1つにまとめる高コストな処理を避け、増分的にリポジトリを最適化します。

そのほかにも多数の改善が含まれています。git add -pでのハンク操作時に過去の判定状態が表示されるようになり、git replayにはアトミック参照更新と--revertモードが追加されました。git rebaseに--trailerオプションが新設され、git log -Lが-Sや-Gオプションと組み合わせ可能になるなど、日常的なワークフローの利便性が幅広く向上しています。HTTP 429レスポンスの自動リトライ対応や、エイリアスでの非ASCII文字サポートも注目の変更点です。