使用新的GPG密钥退出以前的Git提交 [英] Resign previous Git commits with a new GPG key

查看:18
本文介绍了使用新的GPG密钥退出以前的Git提交的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试转换到新的GPG密钥。我想用新的GPG密钥重新签署我以前在Git存储库中的所有提交(该存储库具有使用我以前使用的密钥的有效签名)。

换句话说,我如何(用我的新密钥)自动放弃我用以前的密钥签署的所有提交?

如果您需要在示例中使用密钥指纹,请使用0000000000000000000000000000000000000000作为我的旧GPG密钥指纹,使用1111111111111111111111111111111111111111作为我的新密钥指纹。

推荐答案

您需要使用git filter-branch(作为done here),至少:

git filter-branch --commit-filter 'git commit-tree -S "$@"' HEAD

(如果您只想对提交进行签名,则可能使用更复杂的指令,如seen here)

git filter-repo尚不支持GPG签名(issue 67)。

也是mentioned here的另一种方法是使用git rebase

git rebase --exec 'git commit --amend --no-edit -S<keyid>

这篇关于使用新的GPG密钥退出以前的Git提交的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆