device time zone is not UTC0 post-commit hook: if [[ -n "${SKIP_POST_COMMIT+x}" ]] && [[ "$SKIP_POST_COMMIT" -eq 1 ]] then exit fi TZ=UTC0 SKIP_POST_COMMIT=1 git commit --amend --reset-author --no-edit --no-verify --no-post-rewrite --allow-empty --quiet --- Run: git commit -m "foo" git show -s --format="Commit: %h%nAuthor: %an%nAuthor Date: %ad%nCommitter: %cn%nCommitter Date: %cd%nMessage: %s%n" HEAD Expected that both Author Date: and Committer Date: show +0000 as timezone. Only committer date shows +0000, while author date shows time zone of device. When manually running the post-commit code (TZ=UTC0 SKIP_POST_COMMIT=1 ...) it correctly resets the author date to +0000 too When manually setting the date using --date="$(date +%s) +0000" instead of --reset-author it also works correctly in post-commit hook.