设置自动添加引用到git commit消息是否可能(或者是一个坏主意)?例如
$ git commit -m 'my commit message'
变为
$ git commit -m my commit message
非常感谢!
答案 0 :(得分:2)
通过Git本身,我会说这是不可能的。这是因为-m标志需要一个参数在它之后,这是用引号括起来的消息。如果它没有用引号括起来,"我的提交消息" (一个arg)会转到我的提交消息(三个args)。
然而,一切皆有可能。您可以编写一个bash脚本或类似的东西,可以别名为" commit"将遍历在它之后找到的所有单词,然后将它们包装在引号中并执行必要的git commit命令。
但这导致了你的问题,"这是一个坏主意?"。我不认为这不一定是个坏主意,虽然我认为这不值得冒险,但我个人不会因为潜在的错误而这样做。通过用引号括起来,你有一个故障保护措施,你输入了你的整个信息,并且在你完成之前没有意外地输入或输入。
所以,我建议不要这样做,但如果你发现它值得,希望我的建议会有所帮助。
编辑:
我很好奇,想要这样做。如果您选择这样做,这应该是开始。
msg="git commit -m \""
for var in "$@"
do
msg=$msg" "$var
done
msg=$msg\"
echo $msg
它是一个简单的bash脚本,但它需要" ./ filename这是一条消息"并打印" git commit -m"这是一条消息""。您所要做的就是实际执行操作而不是打印它。
但是警告的话。所有这些参数都将被执行。例如,如果包含* .png之类的通配符,则需要将其包装在引号中,否则您将获得以png结尾的所有文件。这最终会使整个过程无用。