在重新设置git分支的同时更改时间戳


97

我已经在分支中重新组织了提交,然后才将其公开,导致提交的时间戳混合在一起。我希望它们全都在今天,而间隔只有几秒钟。

显然,这些时间戳也不正确,但是由于这是公开发行的时间,所以我宁愿选择时间复杂的历史。

那么,如何在重新基准化时告诉git创建新的时间戳?

Answers:


134
git rebase --ignore-date

2
在发布之前,我已经尝试过。另外,您是否尝试过--committer-date-is-author-date别名?也许--ignore-date是在更高版本中引入的,我不知道。
Michael Krelin-黑客

2
是的,如果以非交互方式完成,则可以。但是然后-与使用rebase一样,第一次提交不会受到影响。
tarsius

2
@ MichaelKrelin-hacker:根据文档,-- ignore-date这些标志传递给git am,以轻松更改重新基于基础的提交的日期(请参阅git-am [1])。与--interactive选项不兼容。
蒂姆(Tim)

4
@Tim根提交没有父项,当我问这个问题时,我也想更改该提交的日期。现在我们有了--root,这使这成为可能。
tarsius

3
Incompatible with the --interactive option. 查看文件
VlastimilOvčáčík17年

28

在我的案例中,重新基准化将时间戳更改为CommitDate值,因此在gitweb中,一几个月前的提交显示为4天。我找到了正确日期的最后一次提交,并做到了:

$ git rebase --committer-date-is-author-date SHA

39
不,这不对。实际上,情况恰恰相反。从文档git rebase:“将这些标志传递到,git am以轻松更改重新基于基础的提交的日期 ”。在git am它说:--committer-date-is-author-date[...]允许用户谎言提交者日通过使用相同的值作者日期 ”,而--ignore-date[...]允许用户谎言作者日期通过使用相同的值作为提交者日期 “。
恩里科·坎皮多里奥

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.