Git: parent commit is younger than descendant?

I was browsing http://arago-project.org/git/projects/linux-omap3.git repo and came across a strange date-thing, which basically says that parent commit is a year younger than its child.

How is this possible?

  • How do I import a third party lib into git?
  • git pull fails “unable to resolve reference” “unable to update local ref”
  • Git: Branch is ahead by X commits. Doesn't help doing git pull
  • Xcode source control wrong username on github
  • Changing remote git repository
  • Gerrit Replication to gitlab failed
  • user@ubuntu1004:/f/linux-omap3$ git log -2 --parents  4b8db3b
    commit 4b8db3b368f5601717e3ffee0051628ba33172d3 3c0eee3fe6a3a1c745379547c7e7c904aa64f6d5
    Author: Kevin Hilman <khilman@deeprootsystems.com>
    Date:   Fri Aug 20 11:19:52 2010 -0700
    
        OMAP: bus-level PM: enable use of runtime PM API for suspend/resume
    
        [...skipped...]
    
        Cc: Rajendra Nayak <rnayak@ti.com>
        Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
    
    commit 3c0eee3fe6a3a1c745379547c7e7c904aa64f6d5 65f42886e24be2197b1263f138eabf40c6774d00
    Author: Linus Torvalds <torvalds@linux-foundation.org>
    Date:   Tue Jan 4 16:50:19 2011 -0800
    
        Linux 2.6.37
    

  • Trouble pushing from git to subversion using git-svn
  • git push origin tries to push into remote main branch instead of creating a new one
  • git log over ssh remote repository
  • Git checkout only new files from branch directory
  • BitBucket Git Error: did not send all necessary objects
  • ignore files ending with numbers with 0-3 digits
  • 2 Solutions collect form web for “Git: parent commit is younger than descendant?”

    As mentioned in the comments:

    • you put any timestamp you want on a commit: “git commit – setting timestamps into the future”
    • you can amend the timestamp of a commit: “How can one change the timestamp of an old commit in Git?”
    • You are dealing with two dates: GIT_AUTHOR_DATE and GIT_COMMITER_DATE: See working with date in Git.

    What you see could be the result of a:

    • rebase, since git rebase does actually not change authors’ timestamps by default: see “git rebase without changing commit timestamps”.
    • cherry-picking (as commented by Michael Anderson) since it also preserves GIT_AUTHOR_DATE

    The accepted answer is way more technically insightful, but I’ll just add how this actually happened to me. I was debugging an issue that was affected by the local computer date, and was actively changing my system clock to track down the bug. After fixing it I committed everything to git unaware that my system clock was still set 2 months in the future, thereby screwing up my git history since I only noticed a few days later when commits showed up out of order in Github (d’oh!). This is supposedly fixable, though I haven’t tried it yet.

    Git Baby is a git and github fan, let's start git clone.