Git 将提交消息的第一个字母大写
我不是perl用户,因此我不确定如何编写git commit msg钩子脚本,以便在每次提交时大写消息的第一个字母,以便Git 将提交消息的第一个字母大写,git,githooks,pre-commit-hook,Git,Githooks,Pre Commit Hook,我不是perl用户,因此我不确定如何编写git commit msg钩子脚本,以便在每次提交时大写消息的第一个字母,以便 initial commit 变成 Initial commit 首先,a通常仅用于验证提交消息,而不是更改它。 您仍然可以尝试更改作为参数传递给该钩子的临时文件的内容 其次,该钩子可以是一个简单的bash-sed命令: #!/bin/bash sed -ie "1 s/\b\(.\)/\u\1/" $1 (请参见“”)我访问了git-scm.com链接,它说这个钩子通
initial commit
变成
Initial commit
首先,a通常仅用于验证提交消息,而不是更改它。您仍然可以尝试更改作为参数传递给该钩子的临时文件的内容 其次,该钩子可以是一个简单的bash-sed命令:
#!/bin/bash
sed -ie "1 s/\b\(.\)/\u\1/" $1
(请参见“”)我访问了git-scm.com链接,它说
这个钩子通常对正常提交不有用;相反,它适用于自动生成默认消息的提交,例如模板化提交消息、合并提交、压缩提交和修改提交。
对于普通用户输入的提交消息,我如何使用此功能?@nick-s它还说,就在您提到的段落之后“您可以将其与提交模板结合使用,以编程方式插入信息。“这正是我的答案。@nick-s我明白你的意思:默认消息不是用户编写的消息。但是我认为commit-msg钩子不允许更改消息的内容,只允许对其进行验证。您可以使用commit-msg钩子尝试我提到的相同sed命令。我已经相应地编辑了答案。因此,如果我要使用-m
添加自定义消息,那么git hook?@nick-s无法以编程方式更改/操纵它,如果commit msg在您的sed命令(或者仅用于测试的更简单的命令:echo test>$1)之后没有更改内容,然后没有。你测试过用这个钩子做的简单内容修改吗?