[英]Weird output for git log --merges when merging feature branches
我有以下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 docs( https://git-scm.com/docs/git-log#_history_simplification )中的历史记录简化示例并不包含与此处相同的情况(尽管这可能是最常见的情况... )。
有人知道吗? 我很确定这与Git的默认历史记录简化算法有关,因为如果我指定--full-history
,也会显示合并提交C
由于某种原因,默认值是否仅跟随提交中的第二个父级?
我在Git邮件列表上问了同样的问题,并得到了适当的答案:
向日志询问单个文件确实可以简化历史记录。 由于提交C完全使用了B,因此从日志输出中删除了对A的更改集。 与B的比较是TREESAME,因此也被修剪->没有输出。
有关更多信息,请参见http://thread.gmane.org/gmane.comp.version-control.git/281256 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.