簡體   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