查看没有合并提交的git日志

时间:2016-03-11 17:00:16

标签: git git-log

我正在尝试查看特定用户提交的提交,并希望从输出中删除用户完成的任何合并。我怎么能这样做?

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

PS:合并冲突不会发生在有问题的repo的工作流中,所有分支在合并到master之前都会被重新定义,因此可以安全地从输出中删除合并提交,同样,两个功能分支也不会合并彼此提高了可能性。

3 个答案:

答案 0 :(得分:67)

使用

--first-parent

此外,if (intersects.length > 0) { if (intersects[0].object != INTERSECTED) { if (INTERSECTED) { // Use hex rather than RGB (setRGB uses 3 arguments, hex one) INTERSECTED.face.color.setHex(INTERSECTED.currentHex); } INTERSECTED = intersects[0]; // Save actual color so we can restore it later INTERSECTED.currentHex = INTERSECTED.face.color.getHex(); INTERSECTED.face.color.setHex(0x777777); INTERSECTED.object.geometry.colorsNeedUpdate = true; } } else { if (INTERSECTED) { // Use hex rather than RGB (setRGB uses 3 arguments, hex one) INTERSECTED.face.color.setHex( INTERSECTED.currentHex ); } INTERSECTED = null; } 选项可能会为您提供有用的结果:

  

- 第一亲              在看到合并提交时,仅遵循第一个父提交。查看时,此选项可以提供更好的概述   特定主题分支的演变,因为合并              进入一个主题分支往往只是关于不时调整到更新的上游,这个选项允许你   忽略引入你的个人提交              这种合并的历史。不能与--bisect结合使用。

答案 1 :(得分:14)

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

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

有关详细信息,请参阅git log manpage

答案 2 :(得分:0)

OP 的问题已得到解答。阐述了潜伏者的答案。这个冗长的日志调用将为您提供一个由提交者 sans merge 过滤的漂亮视图。如果你愿意,可以使用 git alias 来驯服它。

我希望它对某人有益,并且不会因为反对票而受到过于严厉的对待。

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