GitHubは、Gitの最新版「Git 2.40」の公開を受け、Git 2.40で興味深い機能を紹介した。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
オープンソースの分散バージョン管理システム「Git」の最新版「Git 2.40」が、Gitプロジェクトから公開された。これを受けてGitHubは2023年3月13日(米国時間)に公式ブログで、Git 2.40で興味深い機能を紹介した。
「git jump」コマンドは、Gitのcontribディレクトリに同梱されているコマンドの1つだ。「git grep」のような動作をするコマンドであり、実行結果をVimのquickfixリストに送信する。これにより「git jump grep foo」のように書くと、Vimでプロジェクト内のfooにマッチする全ての箇所を素早く表示できる。
git jumpは、diffやmergeでも動作する。diffモードで実行すると、リポジトリの変更リストの先頭がquickfixリストに表示され、コミット前に変更を素早く確認可能だ。
Git 2.40 では、git jumpはEmacsにも対応し、Emacsクライアントにリストを入力できる。Emacsユーザーは以下のコマンドで試すことができる。
M-x grepgit jump --stdout grep foo
「git cat-file」はGitリポジトリ内にある任意のオブジェクトの内容を表示できるコマンドだ。オブジェクトのサイズを調査する際にも利用できるが、正確なオブジェクトサイズを表示しない問題があった。Git 2.40ではこの問題が修正されている。
Gitでは「.gitattributes」ファイルを用いて、指定したパターンに合致するファイル名に対して特定の属性を付与できる。以下のコマンドを利用することで属性の内容を確認できる。
$ head -n 2 .gitattributes * whitespace=!indent,trail,space *.[ch] whitespace=indent,trail,space diff=cpp
git check-attrコマンドは、複雑なルールや、複数のプロジェクトにおいて.gitattributesを使用している場合に、どの属性が適用されているか調査する際に役立つ。
$ git check-attr -a git.c git.c: diff: cpp git.c: whitespace: indent,trail,space
GitではPerlやシェルスクリプトによる実装をC言語に置き換える取り組みが行われている。その成果の一つとして、Gitの履歴から問題箇所を検出するgit bisectがC言語で再実装された。
Copyright © ITmedia, Inc. All Rights Reserved.