从 git 我可以得到时间戳:
"2011-10-04 12:58:36 -0600"
但是有什么方法可以将其显示为:
"2011-10-04 06:58:36"
所以我想要的就是摆脱 -0600 时区偏移量。我怎样才能做到这一点?谢谢。
从 git 我可以得到时间戳:
"2011-10-04 12:58:36 -0600"
但是有什么方法可以将其显示为:
"2011-10-04 06:58:36"
所以我想要的就是摆脱 -0600 时区偏移量。我怎样才能做到这一点?谢谢。
如果您询问 git log,您可以尝试从以下选项中选择最正确的形式:
git log --date={relative,local,default,iso,rfc}
--date=local
似乎是最佳人选。
要使其永久化,请使用git config --global log.date local
.
TZ=UTC git log --date=local
为了获得非本地时区一个时区的输出。
git log --date=local
行得通。
git config --global log.date local
不幸的是,git log --date=local
按照前面的答案中的说明使用会改变输出格式。
为了保持要求的格式(YYYY-MM-DD HH:mm
),我不得不使用:
git log --date=iso-local
但这仅适用于 git 2.7 或更高版本。
要获取格式 ( YYYY-MM-DD HH:hh
),您可以使用:
git log --date=format:%Y-%m-%d\ %H:%M
也可以与 Git Standup 完美配合:https ://github.com/kamranahmedse/git-standup
完整的命令行答案:
TZ=GMT git show -s --format=%cd --date=iso-local
jveerman 的帖子真的很有帮助:
如果要以 YYYY-MM-DD HH:MM:SS 格式显示 git 日期:
DATE=$(git log -n 1 --pretty=format:"%ad" --date=iso)
echo "Date: ${DATE::20}"
对于日志格式,我可以添加这个
[log]
date=format:%Y-%m-%d %H:%M:%S
到我的 ~/.gitconfig
但是将相同格式的日期/时间自动添加到我的提交消息中是一种考验。在将其添加到 .git/hooks/prepare-commit-msg 文件之前,我发现没有任何帮助:
DATE=$(git log -n 1 --pretty=format:"%ad" --date=iso)
echo "${DATE::20}" >> $1
如果您主要使用桌面应用程序,那么在提交列表中显示更改的确切时间真是太好了!
有什么办法可以使这个全局化,所以我不必编辑每个本地 repo 的 prepare-commit-msg 文件?
如果要以 YYYY-MM-DD HH:MM:SS 格式显示 git 日期:
DATE=$(git log -n 1 --pretty=format:"%ad" --date=iso)
echo "Date: ${DATE::20}"