gpt4 book ai didi

git - 我按下 "Rebase and merge"后验证的签名消失了

转载 作者:行者123 更新时间:2023-12-04 16:26:23 25 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





How to retain commit gpg-signature after interactive rebase squashing?

(4 个回答)


去年关闭。




已推送到 develop 的所有提交分支表明他们已经过验证。
merge 来自 develop 的所有内容至 master ,我决定点击一个按钮 Rebase and merge . (我不想为 master 创建另一个新提交。)
令人惊讶的是, merge 成功后,所有经过验证的签名都从 master 上消失了。

  • 我在这里错过了什么?
  • 我应该如何保留经过验证的签名?
  • 最佳答案

    重新定位时,更改会在 master 上重播。这会导致它们“重新基于”新的父提交,这将更改提交 ID(部分基于父提交 ID)。
    在重放提交时, rebase 还可能需要 merge 更改。即使 merge 是自动发生的,它也可能会更改文件的内容。文件内容是构成 commit-id 的另一个元素。
    验证是通过内容和提交元数据的加密签名完成的。因此, rebase 将破坏该签名。
    为了不破坏您的签名,您需要使用快进 merge (不创建新的 merge 提交)。要实现这一点,您需要在本地重新设置更改的基础并对其进行签名。
    或者您可以压缩 rebase ,将您所有的小提交汇总到一个新提交中,GitHub 将代表您签署该提交。
    如果验证对您很重要,那么 rebase 通常是一个坏主意,快进 merge 和 merge 提交将更好地反射(reflect)实际发生的情况以及这些更改的作者。

    关于git - 我按下 "Rebase and merge"后验证的签名消失了,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62950018/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com