を使用する場合git log
、そのユーザーからのコミットのみが表示されるようにユーザー別にフィルタリングするにはどうすればよいですか?
ベストアンサー1
これは両方に有効でありgit log
、ギット- 履歴を表示する最も一般的な 2 つの方法。
名前全体を使用する必要はありません。
git log --author="Jon"
「Jonathan Smith」によるコミットと一致します
git log --author=Jon
そして
git log --author=Smith
も機能します。スペースが必要ない場合は引用符はオプションです。
--all
リポジトリ内の現在のコミットの祖先だけでなく、すべてのブランチを検索する場合に追加します。
このフィルターの基本的なメカニズムは正規表現なので、複数の作成者を簡単に一致させることもできます。Jonathan または Adam によるコミットを一覧表示するには、次のようにします。
git log --author="\(Adam\)\|\(Jon\)"
特定の著者または著者グループによるコミットを除外するには、正規表現を使用します。この質問では、あなたは否定先読みスイッチと組み合わせて--perl-regexp
:
git log --author='^(?!Adam|Jon).*$' --perl-regexp
あるいは、bash
とパイプを使用して、Adam が作成したコミットを除外することもできます。
git log --format='%H %an' |
grep -v Adam |
cut -d ' ' -f1 |
xargs -n1 git log -1
Adam によってコミットされたコミット (ただし、必ずしも作成者ではない) を除外する場合は、%an
を に置き換えます%cn
。これに関する詳細は、次の私のブログ投稿に記載されています。http://dymitruk.com/blog/2012/07/18/filtering-by-author-name/