git - 使用 GPG 签署现有提交

标签 git github

我正在寻找一种方法来复制 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/

    相关文章:

    javascript - 如何有效地存储 html 差异

    git - 授予对 github 上单个文件的访问权限

    Git - 我可以从命令行确定 fork repo 的来源吗?

    github - Gerrit - 复制到 github

    提出拉取请求的 GitHub 分支名称

    git - 是否可以在 Git 中移动/重命名文件并维护它们的历史记录?

    在 Windows 上使用 SSH 私钥进行 Git 推送

    github - GitHub 使用什么库来呈现 Markdown 文档之间的差异?

    Git 克隆错误的仓库

    git - SSL证书问题: self signed certificate in certificate chain