Git-GPG签名在提交名称&;之后失败;电子邮件更改

Git-GPG签名在提交名称&;之后失败;电子邮件更改,git,gnupg,Git,Gnupg,我有一个本地git存储库,其中有一堆用我的真实姓名和个人电子邮件提交的内容。我想将这些推送到GitHub,但不使用我的个人详细信息 我已使用以下命令重写了每次提交的名称和电子邮件: git filter-branch -f --env-filter \ "GIT_AUTHOR_NAME='github_username'; GIT_AUTHOR_EMAIL='github_username@users.noreply.github.com'; \ GIT_COMMITTER_NAME='gith

我有一个本地git存储库,其中有一堆用我的真实姓名和个人电子邮件提交的内容。我想将这些推送到GitHub,但不使用我的个人详细信息

我已使用以下命令重写了每次提交的名称和电子邮件:

git filter-branch -f --env-filter \
"GIT_AUTHOR_NAME='github_username'; GIT_AUTHOR_EMAIL='github_username@users.noreply.github.com'; \
GIT_COMMITTER_NAME='github_username'; GIT_COMMITTER_EMAIL='github_username@users.noreply.github.com';" HEAD
在此之后执行
git日志
时,一切看起来都很好。我的私人邮件不见了

然后,我尝试使用以下方式对每次提交进行GPG签名:

git filter-branch --commit-filter 'git commit-tree -S "$@";' -- --all
但在第一次提交时,我得到以下错误:

Rewrite 1124486cba6a6f6432adb24f7c66833d860b191f (1/38) (1 seconds passed, remaining 37 predicted)    
gpg: skipped "My Real Name <my_real_email@gmail.com>": No secret key
gpg: signing failed: No secret key
error: gpg failed to sign the data
could not write rewritten commit
重写1124486CBA6F6432ADB24F7C66833D860B191F(1/38)(1秒过去,剩余37秒)
gpg:跳过了“我的真实姓名”:没有密钥
gpg:签名失败:没有密钥
错误:gpg无法对数据进行签名
无法写入重写的提交
我的旧用户名和密码是从哪里来的?

结果是,
--最后的一切都是罪魁祸首。改为
HEAD
效果很好

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