修改时更新git commit author date

我发现自己经常修改我的提交。 我不会stash ,因为我会忘记我这样做,特别是当我想在我离开之前或周末之前保存我所做的,所以我做了一个“草稿”的提交。 唯一的事情是,当我修改提交时,它仍然被设置为原始作者的date。 修改时是否有一个(简单的)方法来更新它?

您可以使用--date参数将作者date更改为git commit 。 因此,如果您想要修改上次提交,并将其作者date更新为当前date和时间,则可以执行以下操作:

 git commit --amend --date="$(date -R)" 

date-R参数告诉它以RFC 2822格式输出date,这是git commit可以理解的date格式之一。)

另一种方法是

 git commit --amend --reset-author 

这确实改变了提交作者以及date – 但是如果它最初是你的未提交的提交,那么这是一个无操作。

如果你想更新多个提交的date,但是你希望提交的信息保持不变,你也可以添加--no-edit 。 这样你将不会被提示编辑每个提交的消息。

 git commit --amend --date=now 

(Git版本2.7.0)

我喜欢马克的答案,并使用它自己多次,但现在我在OS X和date -R不支持。 但是,一切都比原来的答案容易得多,我们认为,只需使用空string

 git commit --date= --amend