BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Git 2.1リリース

Git 2.1リリース

原文(投稿日:2014/08/26)へのリンク

Git 2.0がリリースされて2ヶ月半、Gitの新バージョンがリリースされた。これはマイナーアップデートだが、多くの新機能と改善を含んでいる。

リリースノート全文はgitリポジトリに置かれ、Git 2.1の新機能について詳しく述べられている。Git 2.1の新機能から厳選したものを以下に示す。

  • bash補完の改善

    Bash補完は「複雑なコマンドシーケンスを定義したエイリアスがうまく扱えるよう」拡張された。別の言葉で言うと、たとえば、grepsortなどのコマンドラインプログラムにgitコマンドの結果をパイプするようなエイリアスを定義したとき、エイリアスの自動補完はそれがオリジナルのgitコマンドであるかのように同じオプションを生成する。

  • デコレートされたログの "auto" オプション

    log.decorate設定変数がautoを理解するようになった。この値は、出力がttyに送られるときに--decorateオプションを自動的に有効にする。

  • マージのためのvimdiff3サポート

    git mergetoolコマンドがvimdiff3バックエンドをサポートするようになった。

  • git-grepにおけるフルパス出力のサポート

    新しい--full-nameオプションを使うと、現在のディレクトリに対する相対パスではなく、フルパスで結果を取得できるようになる。大事なことは、これがデフォルトの振る舞いになることだ。「git grepは強制的に‐‐full-nameをデフォルトにするgrep.fullname設定変数を身に付けた。これはこうした振る舞いを期待していないユーザにとって、不具合を引き起こすおそれがある」。

  • Tags ordering

    Git-tagtag.sort設定をサポートするようになった。これは「--sort=オプションが指定されていないときに、デフォルトのソート順として使われる」。AtlassianのTim Pettersen氏によるBlogで、この新機能が役に立つ良い例が紹介されている。そこではtagsのバージョン番号を考慮した次のようなデフォルトソートを提案している。

    $ git config --global tag.sort version:refname
    

    上記デフォルトオプションを設定することによって、git tagはバージョン番号でうまくソートしてくれる。sortオプションを指定してデフォルトの辞書順を上書きする必要はない。

Gitの新バージョンには、パフォーマンス改善とバグ修正を目的とした変更も複数含まれている。詳しくはリリースノートを参照してほしい。先ほどのTim Pettersen氏による記事も、「Atlassianをワクワクさせた今回のリリースの機能」と豊富な例が述べられており、読む価値があるだろう。

この記事に星をつける

おすすめ度
スタイル

BT