Git 2.56、競合解消のステージを安全化
競合処理の安全策
速度と容量の改善
運用機能の拡充
詳細を読む
Gitプロジェクトは2026年9月28日、104人超の貢献者による機能追加と不具合修正を含むGit 2.56.0を公開しました。新しい「git add --resolved」は、競合を解消したファイルだけをステージし、競合マーカーが残れば全件を中止します。マージ基点探索の高速化やサーバー向け再圧縮の改善も盛り込み、大規模リポジトリの安全性、速度、保存効率を高めました。
従来の「git add -u」は、マージと無関係なローカル変更まで取り込む恐れがありました。新オプションはインデックスで未解決になっているパスだけを対象とし、選択範囲の通常ファイルに競合マーカーが一つでも残れば、何もステージしません。
マージ基点の探索では、両方のコミットから遡る処理のうち、片側に固有の候補が尽きた時点で安全に停止できるようにしました。実際のモノリポジトリでは0.68秒から0.01秒になった例があり、二つの大規模環境でも約70倍の例と平均約20倍の改善が確認されました。
パス単位で似たオブジェクトをまとめる再圧縮は、到達可能性ビットマップとデルタアイランドに対応しました。Fluent UIを使った測定ではパックが558.5MBから164.4MBへ約71%縮みましたが、この方式は既定では有効にならず、大規模ホストが検証できる段階です。
実験的な「git history drop」は指定コミットを除き、後続コミットを付け替えつつ無関係なローカル変更を保持します。統合済みブランチの一括削除、二分探索後に元の位置へ戻る機能、マージ履歴を直線化する再生機能など、日常運用の手順も短縮しました。
内部処理では二次関数的な走査を減らし、約50万件のインデックスを持つChromium環境の一部差分処理が約8分から0.07秒になりました。部分クローンでは復元可能な大容量ファイルを手動でローカルから除外できるようになり、安全性と容量管理の選択肢も広がっています。