使用Git挂钩创建提交日志并添加到当前提交

时间:2015-12-04 21:01:58

标签: git bash shell

每当我执行git commit -m "msg"并将提交日志写入php文件时,我就会运行此shell脚本。我希望它包含我当时正在做的当前提交消息。

我的shell脚本:

#!/bin/sh
path="path/to/gitlog.php"
echo "<?php $git_log = array(" > $path
git log --date=iso --pretty=format:'array("%h","%an","%ad","%s"),' >> $path
echo ");" >> $path

gitlog.php会保存到我的存储库,然后我会git push

我目前在'pre-commit'钩子中有它,有没有办法在这个钩子中获取提交消息?

我的用例

我是该项目中唯一的开发人员。时间很短!对于参与项目的其他人来说,看到进度并阅读描述性提交日志,而不必花费我不得不加倍的开销。日志输出到每个人都可以访问的仪表板。

Git没有在仪表板服务器上运行,文件是从存储库托管公司(Beanstalk)部署的

2 个答案:

答案 0 :(得分:1)

另一种选择可能是创建一个适当的挂钩,将更改日志写入外部您的仓库中的文件,然后将该文件推送到外部用户可访问的位置。然后不需要提交更改日志,这是问题的原因。

答案 1 :(得分:0)

根据您的使用案例,我建议:
将本地计算机上的pre-commit挂钩移动到仪表板服务器上的post-checkout挂钩(我想在该仪表板站点后面有一个repo的克隆?)