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

问题描述 投票:0回答:3

我正在寻找一种在提交时自动写入

Signed-off-by:
标签的方法。

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

[alias]
    commit = commit -s

这不起作用。正如下面评论的,你不能编辑 git 自己的别名(如 commit)。(参考)

我也尝试使用命令(参考)

git config --global format.signoff true

也没有效果。 这解释了原因。

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

git-commit git-config git
3个回答
4
投票

[上次评论后所做的编辑]

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

但是如果你做这样的事情

[alias]
  ci = commit -s

然后它就会做你想做的事。


1
投票

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

prepare-commit-msg

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

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

此挂钩需要几个参数:迄今为止保存提交消息的文件的路径、提交类型以及提交 SHA-1(如果这是修改的提交)。

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

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


-2
投票
2023 年 10 月更新:这是错误答案,请忽略


您可以使用

commit.gpgSign 选项

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

$ git config commit.gpgSign true
或者您机器上的所有 git 存储库:

$ git config --global commit.gpgSign true
    
© www.soinside.com 2019 - 2024. All rights reserved.