単一リビジョンのgitログ


181

コミットがありますc。その正確なコミットc +メタ情報の変更セットを取得し、他の変更セットは取得したくない。それgit log -p c^..cを行うよりも簡単な方法はありますか?

回答:



60

Michal Trybusの答えは、単純化のために最適です。しかし、出力の差分が必要ない場合は、いつでも次のようなことができます。

git log -1 -U c

これでコミットログが得られ、自動化のためにすべてのgitロギングオプションを完全に制御できます。あなたのインスタンスでは、変更セットが必要だと言っていました。それを実現する最も人間が読める方法は次のとおりです。

git log --name-status --diff-filter="[A|C|D|M|R|T]" -1 -U c

または、1.8.X以上のgitバージョンを使用している場合は、次のようになります。

git log --name-status --diff-filter="ACDMRT" -1 -U c

これにより、次のような結果が得られます。

commit {c}
Author: zedoo <zedoo@stackoverflow.com>
Date: Thu Aug 2 {time-stamp}

   {short description}
D    zedoo/foo.py
A    zedoo/bar.py

もちろん、あなたが合う方のイベントフィルタリング、そしてあなたが十分に文書化されている伝統的なのgit-logコマンドを経由して望むようにリターンをフォーマットすることができますここに


14
差分が必要ない場合は、実行してくださいgit show --name-only <sha1>
dbn 2013年

16
単に差分が必要ない場合は、を使用してくださいgit show -s <commit>
moeffju 2014

3
何をし-1ますか?どこに記載されていますか?
アレックスアマース

1
@alex git help log「コミット制限」セクションのの出力を参照してください。または、git-scm.com / book / en / v2 /…を 参照し-<number>て、出力するコミットの数を制限します。
LarsH


0

コミットの説明で変更をフィルタリングするために使用できます。

git log --grep='part_of_description' -p

ここでgit log --grep='part_of_description'、「part_of_description」を含むコミットを選択し、-p各コミットの変更セットを表示します

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.