首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何根据作者的时间戳制作git日志订单?

如何根据作者的时间戳制作git日志订单?
EN

Stack Overflow用户
提问于 2011-12-20 13:52:43
回答 4查看 31.8K关注 0票数 63

我使用一个涉及--date-order的相当复杂的--date-order命令来获得存储库状态的概述;但不幸的是,--date-order似乎使用的是提交者日期,而不是作者日期。这意味着,每次将主题分支重新定位到当前的上游,就会丢失主题分支中相对提交的有用的时间顺序(也就是说,每个分支都变成一个长行,因为它的所有提交都被重新基于顺序的、几乎相同的提交者时间戳)。

如果我能够让git-log命令由作者时间戳而不是提交者时间戳提交,这将得到解决。有人知道怎么做吗?

对于那些访问Google结果的人来说,你可能想看看醋酸纤维细胞的解决方案(和深度博客文章!),如果你在寻找标准的git-log风格的输出,多行,并提供关于每一次提交的详细信息的话,这是非常好的。

不幸的是,我现在需要修改这个问题,因为我是个白痴,没有提供关于我的用例的更具体的信息:我在“git-log模式”中使用git-log,我需要使git-log本身按作者日期顺序操作。据我所知,这在git-log之外是完全不可能做到的,因为git-log本身处理图的排序和打印。

git-log的脚本或补丁似乎是必要的。我将保留这个问题,直到有人可以( 1.编写这样的脚本),或者2.我们可以说服git作者包括一个--author --date-order组合的标志。(=

作为参考,下面是我当前的函数输出的样子,以及我需要重新排序的内容:

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-09-18 12:10:09

GITVersion1.8.4向--author-date-order添加了一个git log参数;根据发布说明,“输出按拓扑排序,并根据作者时间戳显示并行历史中的提交混合在一起。”

票数 80
EN

Stack Overflow用户

发布于 2013-01-15 21:51:55

好吧,我花了很长时间才弄明白(详细信息)。简而言之,我发现了许多不完整或不正确的例子。下面的命令执行我认为您预期的操作:

代码语言:javascript
复制
$ git log --pretty="format:%at %C(yellow)commit %H%Creset\nAuthor: %an <%ae>\nDate: %aD\n\n %s\n" | sort -r | cut -d" " -f2- | sed -e "s/\\\n/\\`echo -e '\n\r'`/g" | tr -d '\15\32' | less -R

您可以在Git Extras上的GitHub上找到这个脚本和其他脚本。

票数 24
EN

Stack Overflow用户

发布于 2011-12-20 16:44:38

当您查看与另一个分支一起运行的多个分支时,--date-order/--topo-order实际上只是控制修订列表中提交的顺序。"x是y的父母“关系总是被尊重的,即使你的提交者/作者时间戳是在遥远的过去或未来。

您需要类似于git log --pretty="format:%at %H" | sort -g的内容,然后将散列反馈到git log中。

票数 12
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8576503

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档