你可以按提交时间戳来排序 git log 吗?

问题描述 投票:0回答:3

所以我最近重新构建了一个分支并将其合并到master中。当我执行 git log 时,我会得到一个漂亮的、线性的提交历史记录。但我希望根据时间戳查看我的提交历史记录,以便我可以轻松比较两个分支上的实时提交的时间。

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

git git-log
3个回答
47
投票

我很确定只使用 git 命令是可能的,但我现在找不到它。正如另一个答案中所建议的,

--author-date-order
在重新定位的分支上对我有用。 因此,一种方法是使用

git log pretty=format: ...

以 ISO 格式打印提交日期,并让

sort
sort -r
修复顺序。

例如:

git log --pretty=format:"%ad %h by %an, %s" --date=iso | sort -r | less

这将打印 ISO 日期、哈希值、作者和提交消息,并首先按最新提交进行排序。 

如果您需要每次提交的更多信息,您可以在

git log --help

PRETTY FORMATS 部分找到更多格式选项。

    


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

--作者-日期-顺序

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


9
投票

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

,尽管

--graph
意味着
--topo-order
使用重新定位的分支,

--date-order

将按提交重新定位的时间排序,而

--author-date-order
将按最初提交的时间排序。
(请记住,有多种方法可以搞乱时间戳,因此它们并不完全可靠。)

© www.soinside.com 2019 - 2024. All rights reserved.