自定义 Git commit 时间
拿来刷小绿点
在需要给 commit 指定时间的时候,可以用 --date
参数
支持的日期格式可以看:
http://stackoverflow.com/questions/19742345/what-is-the-format-for-date-parameter-of-git-commit
使用 'x days ago'
可以很方便的补上之前的小绿点(🙈这功能其实就是拿来干这种事的)
不过这种相对时间格式并不支持未来时间,除非你愿意看看今天是几号(我就是这么懒)
解决方式就是,用 date
命令:
git commit --date="`LANG=C date --d='next day'`"
LANG=C
是为了输出英文日期格式。让 git 直接识别本地时间格式的方法也有,但是这个最简单暴力
--d='next day'
就是字面意思,也可以用 --d='-1 days ago'
之类的
嗯……不过好像更长了……
2016-07-31 更新:
上面的方法只能更改 git 本身的操作时间,并不能更改第三方的,比如 gpg 签名的时间
一个简单暴力的方法就是用 libfaketime
但是注意不要直接用 ubuntu 源里的 faketime
运行 git,会 Segmentation fault 的
LD_PRELOAD=/usr/local/lib/faketime/libfaketime.so.1 FAKETIME="+1d" git ...