我有以下Git存储库树:
C
|\
| B
|/
A
A: No parents. Initial commit.
Contains foo with content "ABC".
B: Parents: A. "Commit on feature branch".
Contains foo with content "XYZ".
C: Parents: A, B. "Merge of feature branch".
Contains foo with content "XYZ".
我希望git log --merges foo
向我显示提交C
,但是,日志是空的!仅当我指定--first-parent
时,它才会显示合并提交C
。为什么会这样?这是Git默认历史记录简化中的错误吗?
不幸的是,Git文档(https://git-scm.com/docs/git-log#_history_simplification)中的历史简化示例并不包含与此处相同的情况(尽管它可能是最常见的情况......)。
有谁知道,会发生什么?我很确定它与Git的默认历史记录简化算法有关,因为如果我指定--full-history
,也会显示合并提交C
。
由于某种原因,默认情况下是否仅遵循提交中的第二个父级?