1

特定のユーザーが投稿したgitリポジトリ内のすべてのファイルを一覧表示する最も簡単な方法は何ですか。

4

3 に答える 3

2

私はこれらの1つを提案します:

# commit + full message + list of changed files
git log --author="Frank Nord" --stat

# commit + full message
git log --author="Frank Nord"

# just commit + one line message
git log --author="Frank Nord" --format=short   

--formatでサポートされているパターンの詳細と情報については、--authorを参照してくださいgit log --help

本当にファイルだけが必要な場合は、いくつかのgrepを実行する必要があります。

git log --author="Frank Nord" --stat --format=oneline | grep -Po "(?<=^ ).*(?=\|)" | grep -Po "[^ ]+(\s*[^ ]+)*" | sort | uniq

これにより、FrankNordがこれまでに触れたユニークなパスのリストが表示されます。ここでは実際には2段階のgrepが必要です。そうでない場合、grepはexceeded PCRE's backtracking limit:)でエラーになります。

于 2012-07-02T05:20:09.927 に答える
2

以下はあなたが望むことをします、私は思います:

git log --diff-filter=A --author='Someone' --name-only --pretty=format: | sort -u

--diff-filter=Aは、追加されたファイルのみを報告するように指示していることに注意してください。これ--pretty=format:は、からのコミットメッセージの通常の出力を抑制するためだけのものgit logです。

これは、特定の作成者によるコミットでのファイルの追加を示しているだけであることに注意してください。たとえば、ほとんどの場合、プロジェクトへの貢献を正確に反映していません。

于 2012-07-02T08:31:44.007 に答える
0

いつでもgrepを使用できます。

git log | grep -B 2 -A 3 'Author: Timmy'

-B num-A num試合前に表示する行数と試合後の行数を意味します

于 2012-07-02T05:13:18.817 に答える