如何使用“git commit”命令强制“git commit -s”?

时间:2017-01-26 19:48:12

标签: git git-commit git-config git-commands

我正在寻找一种在提交时自动编写Signed-off-by:标记的方法。

我尝试通过.git / config文件(Reference)配置它。我把这些代码行放在一边:

[alias]
    commit = commit -s

这不起作用。如下所述,您无法编辑git自己的别名(如提交)。(Reference)

我也尝试使用命令(Reference)git config --global format.signoff true

也没有效果。 This explains为什么。

我正在寻找自动放置标记的任何解决方案,并允许我直接在git上编辑提交消息,而不必使用系统别名。

2 个答案:

答案 0 :(得分:2)

[在最后评论后编辑]

我认为如果我猜错了,你就不能使用“保留”字样的别名。 git命令的单词。

但是,如果你做这样的事情

[alias]
  ci = commit -s

然后它会做你想做的事。

答案 1 :(得分:1)

使用提交挂钩实现此目的 https://git-scm.com/book/en/v2/Customizing-Git-Git-Hooks#_committing_workflow_hooks

  

prepare-commit-msg

     

{<1}}挂钩在运行之前启动提交邮件编辑器,但 后创建默认邮件。

     

它允许您在提交作者看到之前编辑默认消息。

     

此挂钩采用一些参数:到目前为止保存提交消息的文件的路径,提交的类型,以及提交SHA-1(如果这是修改的提交)。

     

这个钩子通常对正常提交没用;相反,它适用于自动生成默认消息的提交,例如模板化提交消息,合并提交,压缩提交和修改提交。

     

您可以将它与提交模板结合使用,以编程方式插入信息。