我正在尝试直接从Phrabricator或Jira自动生成我的提交消息标题。
我有一个bash脚本执行http调用并获取标题。
我知道你可以为每个提交消息提供一个提交模板。
例如
~/.gitconfig
[commit]
template = ~/.gitmessage
~/.gitmessage
Some template for user
但是可以使用bash或python脚本动态生成提交模板吗?
答案 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
。