Git 2.6がリリースされた。これには多くの新機能とパフォーマンス及び内部実装の改善、バグ修正が含まれている。
新しいワークフローとUI
git fsck
コマンドに、プロジェクトの履歴にあるマイナーなデータエラーを扱うための新しいオプションが導入された。git fsck
はリポジトリの整合性を検証するのに使われるが、過去の履歴にある問題に神経質すぎて、軽度の破損を警告し、価値のない修正をしているように見える場合が多々ある。たとえば、多くのユーザがすでにリポジトリをクローンしていた場合などだ。Git 2.6では、特定の git fsck
警告の重大性を開発者が調整できるようになる。たとえば、git config fsck.badEmail ignore
というコマンドを実行すると、不正なメールアドレスを無視するようになる。
また、git fsck
はリポジトリにプッシュされたオブジェクトの整合性を自動チェックするのに使うことができ、これによって古くなったオブジェクトがプロジェクトの履歴に入るのを避けることができる。その場合、新たにプッシュしたオブジェクトを完全にチェックして、おかしな状態にあるコミットをスキップするよう git fsck
に教えておくと役に立つだろう。これを実現するには、git config
にコミットスキップリストを与えれば良い。git config fsck.skiplist "$PWD/.git/skiplist"
git status
コマンドは、リベース中に実行した時の説明が増え、リベースログの最新ステップと次ステップに関する詳細を表示するようになる。大きな一連のコミットをリベースしている時に、経過を追うのに役立つだろう。
他にも次のような便利な機能がある。
git log --date
は開発者がカスタムの日付フォーマットを使えるようにする。例:git config log.date "format:%c"
;git log --cc
は-p
を伴うようになり、実際にマージコミットの差分を表示する。git fast-import
は新しいget-mark
オプションをサポートし、ファイルディスクリプタに対応するSHA–1を表示させる。git log
は新しい--follow
設定をサポートし、リネームをまたいでファイルの履歴を表示する。git pull --rebase
はrebase.autostash
設定を考慮するようになる。これはデフォルトで--autostash
オプションを有効にし、ダーティな状態のワークツリーをリベースできるようにする。
パフォーマンスと内部実装の改善
パフォーマンスを優先して、git pull
や git am
などのコマンドがCで書かれている。さらに、マルチツリーマージ後の status
と commit
操作が高速になる。また、異なるref
バックエンドをGitにプラグインするのに備えて、Git内部実装が少々変更されている。
Gitメーリングリストのアナウンスによると、Git 2.6には、Git 2.5以降、479の非マージコミットが含まれているという。新機能とバグ修正の完全なリストはリリースノートにある。