修改时更新git提交作者日期

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

125634 次浏览

你可以用--date参数将作者日期更改为git commit。因此,如果你想修改上次提交,并将其作者日期更新为当前日期和时间,你可以这样做:

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

(date-R参数告诉它以RFC 2822格式输出日期。这是日期格式可以被git commit理解中的一个。)

另一种方法是

git commit --amend --reset-author

这确实会改变提交作者以及日期-但如果它最初是您的未推送提交,那么这是一个无操作。

你也可以添加--no-edit,如果你想更新多次提交的日期,但你希望提交消息保持不变。这样就不会提示您为每次提交编辑消息。

我喜欢Mark的答案,自己也用过几次,但现在我在OS X上,不支持date -R。但是一切都比原来的答案让我们想的要容易得多,只要使用空字符串!

git commit --date= --amend

更新:

你也可以试试

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

或者在git的新版本中

git commit --date=now --amend

Git v2.1.4(在Debian 8 (Jessie)上测试)

git commit --amend --date=now

如果有人还在寻找一种简单的方法来更改多次提交的日期,我创建了这个npm包。

https://github.com/bitriddler/git-change-date

用法:

npm install -g git-change-date
cd [your-directory]
git-change-date