查看git日志没有合并提交


88

我正在尝试查看特定用户的提交,并希望从输出中删除该用户完成的所有合并。我该怎么办?

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

PS:合并冲突不会在所讨论的回购工作流中发生,所有分支在合并到母版之前都已重新建立基础,因此可以安全地从输出中删除合并提交,并且类似地,两个要素分支也不会彼此合并可能性。


2
如果合并遇到冲突并且他必须解决该怎么办?
乔·菲利普斯

2
@JoePhilllips在所讨论的仓库的工作流中不会发生这种情况,所有分支在合并到master之前都已重新建立基础。
mu无

6
使用git log --no-merges
0xAX

1
@ 0xAX您可以将其发布为答案吗,我会接受的。
mu无

Answers:


133

使用

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

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

--first-parent在看到合并提交后,仅跟随第一个父提交。当查看特定主题分支的演变时,此选项可以提供更好的概述,因为合并到主题分支中的趋势往往只是不时调整以适应更新的上游,并且该选项使您可以忽略引入到其中的单个提交。通过这样的合并您的历史记录。不能与--bisect结合使用。


甚至更好 --pretty=format:"%h%x09%an%x09%ad%x09%s"
k1eran

1
@ k1eran这会截断提交主体(假设有一个提交主体)
Erythros

1
@Erythros理解了,我发现获得简洁可读的提交摘要很有用。
k1eran

或包括颜色和图表log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --first-parent
Highmastdon

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.