[英]Is there a way to remove gpg sign of all previous commits or resign it with another gpg key
[英]Resign previous Git commits with a new GPG key
我正在嘗試轉換到新的 GPG 密鑰。 我想使用新的 GPG 密鑰重新簽署 Git 存儲庫(與我以前使用的密鑰具有有效簽名)中的所有先前提交。
換句話說,我怎樣才能自動退出(使用我的新密鑰)我用以前的密鑰簽署的所有提交?
如果您需要在示例中使用密鑰指紋,請使用0000000000000000000000000000000000000000
作為我的舊 GPG 密鑰指紋,並使用1111111111111111111111111111111111111111
作為我的新密鑰指紋。
您至少需要使用git filter-branch
(如此處):
git filter-branch --commit-filter 'git commit-tree -S "$@"' HEAD
(如果您只想簽署您的提交,可能會使用更復雜的指令,如此處所示)
新的git filter-repo
還不支持 GPG 簽名(問題 67 )。
另一種方法,這里也提到,是使用git rebase
:
git rebase --exec 'git commit --amend --no-edit -S<keyid>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.