修改时更新git commit author date

时间:2012-02-02 09:59:28

标签: git

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

5 个答案:

答案 0 :(得分:311)

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

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

-R date参数告诉它输出RFC 2822格式的日期。这是date formats understood by git commit之一。)

答案 1 :(得分:235)

另一种方法是

git commit --amend --reset-author

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

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

答案 2 :(得分:204)

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

git commit --amend --date=now

答案 3 :(得分:11)

我喜欢Mark的回答,并且自己多次使用它,但现在我在OS X上并且不支持date -R。但是一切都比我们想到的原始答案容易得多,只需使用空字符串

git commit --date= --amend

答案 4 :(得分:0)

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

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

用法:

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