Git 2.55公開、増分MIDX対応と履歴修正コマンド追加
保守処理の効率化
詳細を読む
オープンソースのGitプロジェクトは6月29日、最新版となるGit 2.55を公開しました。100名超の貢献者による機能追加とバグ修正を含み、うち33名が新規参加者です。大規模リポジトリの保守を効率化する増分マルチパックインデックス(MIDX)のリパック対応と、過去のコミットを手軽に修正する実験的コマンドが目玉となります。
MIDXは多数のパックファイルを1つの索引でまとめる仕組みで、GitHubのリポジトリ保守戦略の基盤でもあります。従来の単一ファイル形式は読み取りが効率的な一方、小さな更新でも全体を書き直す保守コストがありました。2.55ではgit repack --write-midx=incrementalにより、既存の層を保ったまま新しい層を追記できます。
ただし追記専用では連鎖が際限なく伸びてしまいます。そこで幾何的リパックと併用すると、新しい小さな層ほど頻繁に書き直し、古く大きな層は温存する仕組みが働きます。これにより層の数を全オブジェクト数に対して対数的に抑えつつ、保守処理を常に増分的に保てる点が特徴です。
開発者の日常作業を助ける機能も加わりました。2.54で導入された実験的なgit historyコマンドにfixupサブコマンドが追加され、作業ツリーの変更を過去の特定コミットへ直接折り込めます。従来のfixupコミット作成とautosquashの2段階を、意図を表す1コマンドで置き換えるものです。
このほか、設定ベースのフックを並列実行できる機能、これまでmacOSとWindowsのみ対応だったファイルシステム監視デーモンのLinux対応、リーチャビリティビットマップ生成の高速化などが含まれます。ある大規模リポジトリでは生成時間が約612秒から約294秒へと短縮されました。
経営者やエンジニアにとって、これらの改善は大規模リポジトリの保守コスト削減と開発生産性の向上に直結します。CI・CDやコード基盤の運用負荷が気になる組織は、フックの並列化やLinuxでのfsmonitorなどGit 2.55の新機能を検証する価値があるでしょう。