paint-brush
Change the date of a git commitby@hugo__df
9,461 reads
9,461 reads

Change the date of a git commit

by Hugo Di FrancescoAugust 31st, 2018
Read on Terminal Reader
Read this story w/o Javascript
tldt arrow

Too Long; Didn't Read

One of the greatest and worst things with <a href="https://hackernoon.com/tagged/git" target="_blank">git</a> is that you can rewrite the history. Here’s a sneaky way of abusing that, I can’t think of a legitimate reason to do this.
featured image - Change the date of a git commit
Hugo Di Francesco HackerNoon profile picture

One of the greatest and worst things with git is that you can rewrite the history. Here’s a sneaky way of abusing that, I can’t think of a legitimate reason to do this.

As with anything, thanks StackOverflow for all the options I can pick from 👍.

GIT_COMMITTER_DATE="$(date)" git commit --amend --no-edit --date "$(date)"

GIT_COMMITTER_DATE="Mon 20 Aug 2018 20:19:19 BST" git commit --amend --no-edit --date "Mon 20 Aug 2018 20:19:19 BST"

Rebase to before said commit and stop for amendment:

  1. git rebase <commit-hash>^ -i
  2. Replace pick with e (edit) on the line with that commit (the first one)
  3. quit the editor (ESC followed by :wq in VIM)
  4. Either:
  • GIT_COMMITTER_DATE="$(date)" git commit --amend --no-edit --date "$(date)"
  • GIT_COMMITTER_DATE="Mon 20 Aug 2018 20:19:19 BST" git commit --amend --no-edit --date "Mon 20 Aug 2018 20:19:19 BST"

See here for more information around rebasing and editing in git: Split an existing git commit.

Originally published at codewithhugo.com on August 29, 2018.