簡體   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