你能通过提交时间戳订购git log吗?

Tim*_*ark 17 git

所以我最近重新命名了一个分支并将其合并为master.当我做git log时,我得到一个漂亮的,线性的提交历史.但我希望看到基于时间戳的提交历史记录,以便我可以轻松地比较两个分支上的提交是实时进行的.

是否有一个git log选项可以按时间戳而不是正常的提交历史记录来提交提交?我好像找不到一个.谢谢!

Thi*_* D. 21

我很确定只使用git命令是可能的,但我现在找不到它.--author-date-order没有为我工作的重订的分支,在另一个答案建议.

因此,一种方法是使用git log pretty=format: ...以ISO格式打印提交日期并允许sortsort -r修复订单.

例如:

git log --pretty=format:"%ad %h by %an, %s" --date=iso | sort -r | less
Run Code Online (Sandbox Code Playgroud)

这将打印ISO日期,哈希,作者和提交消息,并首先使用最新提交对其进行排序.

如果每次提交需要更多信息,可以在PRETTY FORMATS部分找到更多格式选项git log --help.


小智 8

git log --author-date-order
Run Code Online (Sandbox Code Playgroud)

此命令按作者的时间戳排序,而不是按提交的时间戳排序

--author最新订单

在显示所有子项之前不显示父项,但在作者时间戳顺序中显示提交.

  • 在重新分支的分支上对我不起作用. (2认同)
  • 作者时间戳和提交时间戳之间有什么区别?他们不应该一样吗? (2认同)

ak2*_*ak2 8

自从提出问题以来,事情可能已经发生了变化,但在当前的 git 2.35 中,日志有三种不同的顺序。从 git log 帮助页面:

  • --date-order:在显示所有子项之前不显示父项,但否则按提交时间戳顺序显示提交。
  • --author-date-order:在显示所有子项之前不显示父项,但否则按作者时间戳顺序显示提交。
  • --topo-order:在显示所有子项之前不显示父项,并避免显示混合的多行历史记录上的提交。

默认值是--date-order,尽管--graph暗示--topo-order

对于重新定位的分支,--date-order将按提交重新定位的时间排序,而--author-date-order将按最初提交的时间排序。

(请记住,有多种方法可以扰乱时间戳,因此它们并不完全可靠。)