バージョン2.6のリリースから2か月、Git 2.7が発表された。これには多数の新機能と性能改善が含まれている。
Git 2.7に含まれている主な変更をいくつか紹介する。
git remote
はget-url
サブコマンドをサポートする。指定されたリモートのURLを表示する。git rebase
にコマンドラインオプション--no-autostash
が追加される。これは設定変数rebase.autostash
を上書きする。git worktree
はlist
サブコマンドをサポート。リポジトリのワークツリーと関連ブランチを表示する。ワークツリーは Git 2.5 で入れられた機能で、同じリポジトリの複数のブランチで作業しやすくする。git bisect
は複数のワークツリーを同時に使っている時にうまく動くようになった。加えて、コマンドはold
とnew
サブコマンドをサポートし、以前のbad
とgood
サブコマンドよりも混乱せずに使えるようになる。bisect
は望まぬ影響を生み出した特定困難な状態変化を探し出すのに役立つ。開発者はgood
/old
コミットとbad
/new
コミットの印をつけることができ、バイナリサーチを実行して壊したコミットを探し出すことができる。git submodule
は新しい設定オプションpush.recurseSubmodules
をサポートする。これは開発者がメインモジュールに変更をプッシュするのに役立ち、変更されたサブモジュールを前もってプッシュする必要がない。コマンドラインで--recurse-submodules=on-demand
オプションを使っても同じ効果を得られるが、新しいpush.recurseSubmodules
はその挙動をデフォルトにすることができる。git stash
は新しい設定オプションstash.showPatch
をサポートする。これは影響を受けるファイルのパスのリストの代わりに、常に実際のパッチを表示する。Git 2.6ではコマンドラインで-p
フラグを使うことで同じ挙動を得ることができる。- 性能面では、
git submodule
のCによる書き直しが進んでいる。
Git 2.7 には、800コミットを超える多数の変更が含まれている。リリースノートで完全なリストを読むことができる。