如果存在合并提交或普通提交,则过滤合并提交

时间:2019-01-14 19:06:30

标签: git git-log

我只是想知道是否存在一种显示提交时的“合并提交”或没有合并提交时正常显示的方法。

注意:提交位于同一分支上。 提交消息:

123329343erer Merge “Add global variable names.” 
1223243454d4 Relocate an blah 
1232ee53d343 Add global variable names 

树看起来像:

* 123329343erer Merge “Add global variable names.”
|\ 1223243454d4 Relocate an blah
| | 1232ee53d343  Add global variable names
|/ .....

您将看到普通提交#3和合并#1的文本相似。 唯一的区别是提交消息中的“合并:”。

我想做的是,当我执行“ git log”时,我只想查看提交消息:

123329343erer Merge “Add global variable names.” 
1223243454d4 Relocate a blah

因此,每次合并时,我都希望看到合并提交,如果没有合并,我也希望看到常规提交。

可以通过git log吗?

1 个答案:

答案 0 :(得分:1)

Git没有提供执行此操作的选项。使用git log,您可以使用--merges仅查看合并,或使用--no-merges仅查看非合并,如果要查看所有的合并,则可以使用--topo-order。与主要分支上的工作分开提交在分支上。

但是,Git不提供基于不同提交的消息(或其他属性)的提交过滤。这样做实施起来很复杂,并且在某些情况下可能效果不佳。