如何在我不是所有者的 Github 存储库中签署我的提交?
How to sign my commits to Github repository where I am not the owner?
我正在尝试在我关联的所有 Github 存储库中签署我的提交。当存储库由我托管时我可以签名,但当我只是贡献者时我不能签名。每次尝试这样做时,我都会收到下面提到的错误。
could not find identity matching specified user-id: <key id>
error: gpg failed to sign the data
fatal: failed to write commit object
下面是我的 .gitconfig 设置
[core]
editor = \"C:\Users\user\AppData\Local\Programs\Microsoft VS Cod>
[user]
email = <my email id>
name = <my name>
signingkey = <key id>
[commit]
gpgsign = false
[gpg]
program = gpg
非常感谢您的小小帮助。
Github 与您在本地存储库副本上签名的内容无关。根据错误消息,我假设您没有提供密钥 ID,因此 git 使用了您的提交者身份,该身份在 gpg 密钥库中没有对应的密钥。也许 user.name
和 user.email
配置值设置不正确。
您可以检查值以及全局配置是否未被本地设置意外覆盖:
git config --show-origin user.name
git config --show-origin user.email
值应与 gpg --list-secret-keys
.
输出中的键匹配
验证 gpg.program
和 gpg.format
是否未设置。
- 如果设置了
user.signingKey
,检查是否正确。
- 或者只比较两个 repos 的
git config --list
的输出。
尝试清除 git 缓存或从您的电脑中删除存储库并重新克隆它并尝试签署您的下一次提交。让我知道它是否有效。
我正在尝试在我关联的所有 Github 存储库中签署我的提交。当存储库由我托管时我可以签名,但当我只是贡献者时我不能签名。每次尝试这样做时,我都会收到下面提到的错误。
could not find identity matching specified user-id: <key id>
error: gpg failed to sign the data
fatal: failed to write commit object
下面是我的 .gitconfig 设置
[core]
editor = \"C:\Users\user\AppData\Local\Programs\Microsoft VS Cod>
[user]
email = <my email id>
name = <my name>
signingkey = <key id>
[commit]
gpgsign = false
[gpg]
program = gpg
非常感谢您的小小帮助。
Github 与您在本地存储库副本上签名的内容无关。根据错误消息,我假设您没有提供密钥 ID,因此 git 使用了您的提交者身份,该身份在 gpg 密钥库中没有对应的密钥。也许 user.name
和 user.email
配置值设置不正确。
您可以检查值以及全局配置是否未被本地设置意外覆盖:
git config --show-origin user.name git config --show-origin user.email
值应与
gpg --list-secret-keys
. 输出中的键匹配
验证
gpg.program
和gpg.format
是否未设置。- 如果设置了
user.signingKey
,检查是否正确。 - 或者只比较两个 repos 的
git config --list
的输出。
尝试清除 git 缓存或从您的电脑中删除存储库并重新克隆它并尝试签署您的下一次提交。让我知道它是否有效。