有没有办法以编程方式向git commit添加一些默认消息?

时间:2016-07-06 17:42:44

标签: git bash githooks

我正在尝试直接从Phrabricator或Jira自动生成我的提交消息标题。

我有一个bash脚本执行http调用并获取标题。

我知道你可以为每个提交消息提供一个提交模板。

例如

~/.gitconfig

[commit]
    template = ~/.gitmessage

~/.gitmessage

Some template for user

但是可以使用bash或python脚本动态生成提交模板吗?

4 个答案:

答案 0 :(得分:2)

查看git客户端钩子prepare-commit-msg。见https://git-scm.com/book/en/v2/Customizing-Git-Git-Hooks

prepare-commit-msg挂钩在启动提交消息编辑器之前运行,但是在创建默认消息之后。它允许您在提交作者看到之前编辑默认消息。这个钩子需要一些参数:到目前为止保存提交消息的文件的路径,提交的类型,以及提交SHA-1(如果这是修改的提交)。这个钩子通常对正常提交没用;相反,它适用于自动生成默认消息的提交,例如模板化提交消息,合并提交,压缩提交和修改提交。您可以将它与提交模板结合使用,以编程方式插入信息。

答案 1 :(得分:1)

你想提供一个prepare-commit-msg钩子;样本显示在.git/hooks/pre-commit.sample

答案 2 :(得分:0)

除了其他答案之外:如果你想立即提交(不启动带有预先填充内容的编辑器),试试这个:

git commit -m"$(... whatever command outputs your commit message ...)"

答案 3 :(得分:0)

您可以执行git commit -m "Your default message" && git commit --amend