查看 git 日志而不进行合并提交

我试图查看特定用户的提交,并希望从输出中删除用户完成的任何合并操作。我该怎么做?

我可以使用 git log --author=<name>检查用户的提交,但不能在输出中删除合并提交。

PS: 合并冲突不会发生在有问题的回购工作流中,所有分支在合并到主服务器之前都会重新基础化,因此从输出中删除合并提交是安全的,同样,两个功能分支没有相互合并也增加了合并的可能性。

56727 次浏览

你可以省略与 --no-merges的合并:

git log --no-merges --author=<name>

有关详细信息,请参阅 Git 日志手册

使用

git log --author=<name> --no-merges

此外,--first-parent选项可能会为您提供有用的结果:

第一父母 在看到合并提交时,只跟踪第一个父提交。方法时,此选项可以提供更好的概述 一个特定主题分支的演变,因为合并 进入一个主题分支往往只是关于调整到不时更新的上游,并且这个选项允许您 忽略个人的承诺 通过这样的合并历史。不能与——平分相结合。

观察员的问题已经得到了回答。I 解释对潜水者的回答。这个冗长的日志调用将为您提供一个很好的视图,该视图是通过提交者无合并过滤的。如果您愿意,可以使用 git 别名来驯服它。

我希望这对某些人有好处,而且不会受到反对票的过于苛刻的对待。

git log --no-merges --max-count=15 --pretty="format:%C(dim green) %<(9,trunc)%ar %C(bold magenta)%h %C(bold green)%<(12,trunc)%an %C(bold
yellow)%<(113,trunc)%s" --committer="<name>"

例如: enter image description here