Git合并提交如何知道哪个是"真正的"父级?

wch*_*gin 1 git version-control merge

据我了解,Git通过追溯当前HEAD通过其父节点到根节点的变化来计算出存储库的当前状态.

合并提交有两个父母,就像C6这里:

合并来自git-scm book的提交示例

[资源]

我理解拥有这样多个父母的优点,理由等.

但是,我不明白你如何追溯历史.如果你的头在master分支的尖端,并且你一次追溯一个提交,Git如何知道那个C6"真正的"父母是C5?它只是它们存储在提交文件中的顺序吗?

还是我误解了什么?这不是Git所做的吗?

Fel*_*peC 6

没有"真正的"父母这样的东西.合并有多个父母,可能超过两个,并且没有一个比另一个更真实.你在想的是第一个父母,这应该给你答案; 父母是订购的.