自动将日期添加到Git提交信息中

10
我有一个 sh 脚本,用来组合一些文件并将它们提交到一个 git 仓库。如何在我的提交消息中动态添加日期?
我的 .sh 文件大致如下:
// do things to files...
git add -u;
git commit -m 'generated files on <date here?>';
git push origin master;

4
git log 中已经包含了日期信息,是否在消息中重复表述真的有必要? - nneonneo
真的,但把它放在最前面很好。我还希望它使用服务器时间。 - Steve Robbins
3个回答

34

只需要格式化date命令的输出,就完成了。

// do things to files...
git add -u;
git commit -m "generated files on `date +'%Y-%m-%d %H:%M:%S'`";
git push origin master

这个操作将整个字符串添加进去,包括引号。 - Steve Robbins
很抱歉引用问题出现了。打错了。 - hd1
谢谢。这对我创建的别名很有帮助(在 https://stackoverflow.com/q/64823742/470749 上提到):function stpu() { git stash push -u -m "\date +'%Y-%m-%d %H:%M:%S'` ${@}" }` - Ryan

3

为什么不使用 prepare-commit-msg 或者 commit-msg git 钩子呢?你可以在你的 .git/hooks 目录下找到模板。


1
我认为这是最佳答案。 - coffman21

2

不确定为什么要这样做,因为提交已经有时间戳了,但可以尝试以下操作:

THEDATE=`date`
git commit -m "... $THEDATE"

会这样做。请注意,双引号很重要。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接