繁体   English   中英

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

[英]How can I force "git commit -s" using "git commit" command?

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

我尝试通过 .git/config 文件(参考)配置它。 我把这些代码行:

[alias]
    commit = commit -s

这没有用。 如下所述,您不能编辑 git 自己的别名(如提交)。 (参考)

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

也没有效果。 这就解释了为什么。

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

[上次评论后编辑]

我想如果我猜对了,你不能使用 git 命令的“保留”词来别名。

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

[alias]
  ci = commit -s

然后它会做你想让它做的事情。

使用提交钩子来实现这一点
https://git-scm.com/book/en/v2/Customizing-Git-Git-Hooks#_committing_workflow_hooks

prepare-commit-msg

prepare-commit-msg钩子在提交消息编辑器启动之前创建默认消息之后运行。

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

这个钩子有几个参数:到目前为止保存提交消息的文件的路径、提交的类型以及提交 SHA-1(如果这是一个修改的提交)。

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

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

您可以使用commit.gpgSign 选项

您可以通过在 repo 文件夹中发出以下命令来为每个存储库添加它:

$ git config commit.gpgSign true

或者对于您机器上的所有 git 存储库:

$ git config --global commit.gpgSign true

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM