首页 > 解决方案 > 按作者或分支过滤 git 日志

问题描述

在我的工作流程中,我通常只对我自己的分支和一些特定的分支感兴趣,例如stagingormaster并且希望我git log能够反映这一点。我想出了这个命令:

git log --branches=staging* --author=my_name

问题是authorandbranches过滤器似乎与逻辑运算符链接and,这意味着我可以看到我的所有分支或暂存,但不能同时看到两者。

换句话说,我只想查看我是作者的提交以及名为stagingbranch 的分支的所有提交(无论作者是谁),只需一个命令。

有没有办法做到这一点?

标签: gitbranchgit-logauthorgit-history

解决方案


Git 将从标准输入获取提交 ID,它不限于任何预先确定的构造运算符集,并且当可以使用现有工具实现结果时,没有理由重复任意选择逻辑。

(git rev-list --branches=staging*;git rev-list --all --author=my_name) \
| git log --stdin --no-walk --oneline

推荐阅读