使用gitlog时,如何按用户进行筛选,以便只看到该用户的提交?


当前回答

您甚至可以通过简单地使用用户名的一部分来简化这一点:

git log --author=mr  #if you're looking for mrfoobar's commits

其他回答

我的案例:我使用的是源代码树,我遵循了以下步骤:

按下CRL+3已更改下拉列表作者键入名称“Vinod Kumar”

git log --author="that user"
git help log

为您提供gitlog的手册页。按/,然后键入“author”,然后按Enter键,在那里搜索“作者”。键入“n”几次以进入相关部分,其中显示:

git log --author="username"

正如已经建议的那样。

注意,这将为您提供提交的作者,但在Git中,作者可以是与提交者不同的人(例如,在Linux内核中,如果您以普通用户身份提交补丁,则可能由其他管理用户提交)?有关详细信息)

大多数时候,人们所说的用户既是提交者,也是作者。

一种可能的替代方法是使用名为mergestat的工具,该工具允许您针对repo中的提交历史运行SQL查询(除其他外)。

mergestat "SELECT * FROM commits WHERE author_name LIKE '%Jon%'"

它有点冗长,但可以提供灵活性,以通用的方式具体查找您要查找的内容。

例如,过滤掉合并提交,仅显示过去一年中特定作者的提交:

mergestat "SELECT * FROM commits WHERE author_name LIKE '%Jon%' WHERE author_when > DATE('now', '-1 year') AND parents < 2"

完整披露:我是项目的维护者:)

在github上还有一个秘密方法。。。

您可以在提交视图中通过附加param?author=github_handle。例如,链接https://github.com/dynjs/dynjs/commits/master?author=jingweno显示了Dynjs项目的提交列表