log.date
、--date=
、...-local
、TZ=
等的什么组合会导致以下预期结果:
git log
打印在任何时区/DST、UTC 中进行的所有提交,因此我可以在所有 %z
别名中从 --pretty
中删除 log
git commit
使用真实的 UTC 时间戳注册所有提交(调整日期,而不是简单地删除时区)
TZ
,这会影响所有glibc链接的程序(有GIT_TZ吗?我还没有找到)
# 1. git log to print all commits in UTC:
git log --date=iso --date=local --date=format-local:"%Y-%m-%d %H:%M:%S %z" --date=format:%Y-%m-%dT%H:%M:%SZ
# 2. git commit to register all commits with the real UTC timestamp:
git commit --date="$(date -u +"%Y-%m-%dT%H:%M:%SZ")"
# 3. to make git commands above without setting TZ globally:
env TZ=UTC git log
env TZ=UTC git commit --date="$(date -u +"%Y-%m-%dT%H:%M:%SZ")"