繁体   English   中英

git log的怪异输出-合并功能分支时合并

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM