I was just checking some branch commits from one of my developers and noticed the commits where 22 hours in the future.
It turns out they’d changed their system time for testing and forgot to revert it before pushing.
It makes sense when I think about it.
Because git is a distributed system, it would use the local system time when committing.
Git doesn’t track track off a server time.
That means you can be totally disconnected from other systems and still make commits – in that case the only time it knows is the system time.
That doesn’t make it any less confusing or counter-intuitive in an age of servers, synchronisation and centralisation.