2012-07-02 59 views

回答

2

我建議的一個前展示這些:

# 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 a的更多選項在--author支持的模式上查看git log --help

如果你真的只需要這些文件,你需要做一些grepping:

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

這給了你曾經由Frank北感動的唯一路徑列表。它實際需要的grep這裏的兩個階段,否則的grep與exceeded PCRE's backtracking limit :)

0

你總是可以使用grep吧:

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

-B num意味着行數賽後的行數匹配和-A num

+0

這是一個壞主意。 'git log'內置搜索作者的選項,比'grep'輸出更有效。 – vergenzt

2

下你想要做什麼error'd,我認爲:

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

注意,--diff-filter=A說,只報告了文件添加,而--pretty=format:只是爲了抑制來自git log的提交消息的正常輸出。

請注意,這只是顯示特定作者提交文件時添加的文件 - 在絕大多數情況下,它不會準確反映他們對項目的貢獻。