「Git 2.40」公開 Emacsユーザーも利用できる「git jump」とは複数の改良、バグ修正を実施

GitHubは、Gitの最新版「Git 2.40」の公開を受け、Git 2.40で興味深い機能を紹介した。

» 2023年04月04日 10時30分 公開
[@IT]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

 オープンソースの分散バージョン管理システム「Git」の最新版「Git 2.40」が、Gitプロジェクトから公開された。これを受けてGitHubは2023年3月13日(米国時間)に公式ブログで、Git 2.40で興味深い機能を紹介した。

Git 2.40で興味深い機能

「git jump」コマンド

 「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 cat-file」はGitリポジトリ内にある任意のオブジェクトの内容を表示できるコマンドだ。オブジェクトのサイズを調査する際にも利用できるが、正確なオブジェクトサイズを表示しない問題があった。Git 2.40ではこの問題が修正されている。

「git check-attr」コマンド

 Gitでは「.gitattributes」ファイルを用いて、指定したパターンに合致するファイル名に対して特定の属性を付与できる。以下のコマンドを利用することで属性の内容を確認できる。

$ head -n 2 .gitattributes 
* whitespace=!indent,trail,space 
*.[ch] whitespace=indent,trail,space diff=cpp
この例では「.c」や「.h」で終わるファイルに上記の属性が定義されていることを確認できる

 git check-attrコマンドは、複雑なルールや、複数のプロジェクトにおいて.gitattributesを使用している場合に、どの属性が適用されているか調査する際に役立つ。

$ git check-attr -a git.c 
git.c: diff: cpp 
git.c: whitespace: indent,trail,space

C言語による「git bisect」コマンドの実装

 GitではPerlやシェルスクリプトによる実装をC言語に置き換える取り組みが行われている。その成果の一つとして、Gitの履歴から問題箇所を検出するgit bisectがC言語で再実装された。

Copyright © ITmedia, Inc. All Rights Reserved.

スポンサーからのお知らせPR

注目のテーマ

Microsoft & Windows最前線2025
AI for エンジニアリング
ローコード/ノーコード セントラル by @IT - ITエンジニアがビジネスの中心で活躍する組織へ
Cloud Native Central by @IT - スケーラブルな能力を組織に
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。