根据git rev-list
的手册页:
默认情况下,提交按逆时间顺序显示。
--date-order
选项的解释是:
此选项类似于--topo-order,因为没有父项在其所有子项之前出现,但是其他内容仍按提交时间戳顺序排序。
如果我指定--date-order
或不指定{{1}},有什么区别?在这两种情况下,是提交日期还是作者日期的提交顺序?
答案 0 :(得分:1)
默认情况下,git不强加"在孩子之前没有父母"并且似乎是对历史进行深度优先遍历。您最终可能会在输出中间某处的存储库中进行第一次提交。
- 日期顺序和--topo-order确实在孩子面前强加了一个额外的"没有父母"约束输出顺序。
最近的git版本有一个somewhat better explanation:
- 日期订单
在显示所有子项之前不显示父项,但以提交时间戳顺序显示提交。
- TOPO阶 在显示所有子项之前不显示父项,并避免在多行历史记录中混合显示提交。
例如,在这样的提交历史中:
---1----2----4----7 \ \ 3----5----6----8---
其中数字表示提交时间戳的顺序,git rev-list和带有--date-order的朋友显示 按时间戳顺序提交:8 7 6 5 4 3 2 1.
使用--topo-order,他们会显示8 6 5 3 7 4 2 1(或8 7 4 2 6 5 3 1);一些较旧的提交在新的提交之前显示以避免 显示来自两个平行开发轨道的提交混合 在一起。