首页 > 解决方案 > 合并 2 个分支后,git log 如何组织我的提交历史记录?

问题描述

我有两个生成日志的 git 分支,如下所示:

Branch A
commit xyz @ 11:00 am
commit yut @ 11:10 am
commit mot @ 11:30 am

Branch B
commit xyz @ 11::00 am
commit shu @ 11: 20 am
commit yam @ 11: 40 am

Merge Branch B to Branch A

现在,当我检查分支 A 的日志时,它显示如下:

Branch A
commit xyz @ 11:00 am
commit yut @ 11:10 am
commit shu @ 11: 20 am
commit mot @ 11:30 am
commit yam @ 11: 40 am
commit merge Branch B 11:50 am

但是当我检查 shu 的提交对象时,它的父哈希是 xyz 而不是 yut(尽管 yut 在日志中位于它前面)。

git log 函数是否只是读取两个分支的提交历史记录(通过合并提交),然后按提交的“时间”顺序显示它们?

世界各地每台计算机上的本地时间差异不会弄乱这个顺序吗?

标签: gitloggingmergecommit

解决方案


如果您想查看哪个提交是哪个提交的父级,如果添加 --graph 选项,事情应该会更清楚:

git log --graph

关于提交的显示顺序,请参见Commit ordering部分git help log

默认排序是:

--日期顺序

在显示所有子项之前不显示父项,否则按提交时间戳顺序显示提交。


推荐阅读