我正在寻找一种方法来复制 git commit -S
例如,通过提供其 SHA 来执行特定的提交。
是否可以?
最佳答案
签署提交将更改提交元数据,从而更改底层 SHA1 提交 ID。您可能知道,对于 Git,这与尝试更改历史记录的内容具有相同的结果。
如果你只想重新签署你的最后一次提交,你可以运行:git commit -S --amend
如果你想在你的历史中间重新签署一个提交,你可以做几件事,如果你问我,所有这些都有些讨厌:
reset --soft
到您要签名的提交。运行 git commit -S --amend
然后提交所有分阶段的更改。这会将提交之后的所有历史记录 merge 为一个提交 reset --hard
到您要签名的提交。签名,如果你想保留提交历史,你现在可以 git cherry-pick NEXTCOMMIT -S
重建整个签名历史。 关于git - 使用 GPG 签署现有提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37737096/