[英]Git rebase and signed commits
让我们假设一个 git 存储库,其中满足以下条件:
现在,我想重新设置一个分支,在那里我完成了部分工作,并且一位同事推送了一些提交; 并且我想在我所做的提交上“保留”签名(即重新签署我使用新历史所做的所有提交,即使在合并冲突的情况下),但不要签署不是我写的工作(即。我更喜欢丢失同事提交的签名而不是签名)。
我可以使用git rebase -S
(就像在这个问题的答案中提出的那样); 但这也会签署我同事的承诺。
有没有办法做到这一点?
请记住,这是一个笨拙的答案,您应该强烈考虑将Cupcake@ 答案视为您尝试做的事情的障碍。 (即使您只对提交引入的“差异”进行签名,如果在 rebase 期间发生冲突会怎样?谁对冲突解决引入的代码进行签名?)
也就是说,您可以做的是变基,松开 gpg 签名。 然后使用git filter-branch
做一些魔术来重新 gpg 签名您使用您的密钥创作的提交,以及其他人使用他们的密钥创作的提交。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.