Git - 列出作者创建的文件

Posted

技术标签:

【中文标题】Git - 列出作者创建的文件【英文标题】:Git - List files created by author 【发布时间】:2014-07-30 02:14:25 【问题描述】:

有没有办法列出特定作者使用 Git 创建的文件? 我还需要通过文件名(正则表达式/模式)或创建它们的文件夹来过滤这些结果。

所以我要查找的是作者创建(未更新)的文件列表,没有文件名重复和提交消息。

【问题讨论】:

见***.com/questions/4259996/… 我想做的比git log author=foobar复杂一点。我找到的最接近的是git whatchanged --author="foobar" --name-only --oneline 【参考方案1】:

列出所有提交添加文件,显示提交作者和添加文件;然后将作者粘贴到列出的每个文件的前面:

# add `--author=pattern` to the log arguments to restrict by author
# add anything you like to the `--format=` template
# add any restrictions you like to the `/^A\t/` selector in the awk,
#     ... say /^A\t/ && /\.c$/  etc.

git log --name-status --diff-filter=A --format='> %aN' \
| awk '/^>/ tagline=$0
       /^A\t/ print tagline "\t" $0'

【讨论】:

完美:git log --author="Vadorequest" --name-status --diff-filter=A --format='> %aN' | awk '/^>/ tagline=$0 /^A\t/ print tagline "\t" $0'。谢谢!【参考方案2】:

试试这个

$ git whatchanged --author="yourAthor" --name-only

这里还有一些过滤器

http://gitref.org/inspect/

【讨论】:

更接近,但我不想通过提交看到它,既不是提交消息也不是没有文件名重复。不过谢谢。【参考方案3】:
git whatchanged --author="AuthorName" --name-only --oneline | grep FilePath | sort | uniq -c

【讨论】:

以上是关于Git - 列出作者创建的文件的主要内容,如果未能解决你的问题,请参考以下文章

git常见操作---由简入深

git常用命令

git常用命令

Git创建分支

设置git忽略文件

Git