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


当前回答

通过在.bashrc文件中添加这个小片段,以彩色显示x用户的n个日志。

gitlog() {
    if [ "$1" ] && [ "$2" ]; then
       git log --pretty=format:"%h%x09 %C(cyan)%an%x09 %Creset%ad%x09 %Cgreen%s" --date-order -n "$1" --author="$2"
    elif [ "$1" ]; then
       git log --pretty=format:"%h%x09 %C(cyan)%an%x09 %Creset%ad%x09 %Cgreen%s" --date-order -n "$1"
    else
        git log --pretty=format:"%h%x09 %C(cyan)%an%x09 %Creset%ad%x09 %Cgreen%s" --date-order
    fi
}

alias l=gitlog

要显示Frank的最后10次提交:

l 10弗兰克

要显示任何人的最后20次提交:

l 20

其他回答

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

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

由于另一个问题被锁定(可能是错误的),我将把这个放在这里:

显示作者及其提交次数:

git shortlog -nse

查找特定USERNAME的所有提交:

git log --author=USERNAME --oneline --color=never | awk '{print $1}' | xargs git show

您可以使用=或“空格”。例如,以下两个命令返回相同的

git log --author="Developer1"

git log --author "Developer1"

如果您使用IntelliJ,您可以转到

View -> Tool Windows -> Git

选择“日志”并单击“用户:全部”

然后键入作者的姓名,它将显示该作者的每一次提交

如果要过滤自己的提交:

git log --author="<$(git config user.email)>"