Update git commit author date when amending
I found myself amending my commits quite often. I don't stash
so much because I tend to forget I did so, especially when I want to save what I did before I leave or before a weekend, so I do a "draft" commit. Only thing is, when I amend the commit, it is still set to the original author date. Is there a (simple) way to update it when amending?
Solution 1:
You can change the author date with the --date
parameter to git commit
. So, if you want to amend the last commit, and update its author date to the current date and time, you can do:
git commit --amend --date="$(date -R)"
(The -R
parameter to date
tells it to output the date in RFC 2822 format. This is one of the date formats understood by git commit
.)
Solution 2:
As of Git v2.1.4 (tested on Debian 8 (Jessie))
git commit --amend --date=now
Solution 3:
Another way to do this is
git commit --amend --reset-author
This does change the commit author as well as the date - but if it was originally your unpushed commit then that's a no-op.
You can also add --no-edit
if you want to update the date on multiple commits but you want the commit messages to stay untouched. This way you will not be prompted to edit the message for each commit.