所有已推送到develop
分支的提交都表明它们已被验证。
要合并从develop
到master
的所有内容,我决定单击按钮Rebase and merge
。 (我不想为主服务器创建另一个新的提交。)
令人惊讶的是,合并成功后,所有已验证的签名都从主服务器上消失了。
- 我在这里想念什么?
- 我应该如何保存经过验证的签名?
所有已推送到develop
分支的提交都表明它们已被验证。
要合并从develop
到master
的所有内容,我决定单击按钮Rebase and merge
。 (我不想为主服务器创建另一个新的提交。)
令人惊讶的是,合并成功后,所有已验证的签名都从主服务器上消失了。
重新设置基准时,更改将在主服务器上重放。这将导致它们“基于”新的父提交,这将更改提交ID(部分基于父提交ID)。
重定基础还可能需要在重播提交时合并更改。即使合并自动发生,它也可能会更改文件的内容。文件内容是构成提交ID的另一个元素。
通过内容和提交元数据的加密签名来完成验证。因此,重新定基将破坏该签名。
要不破坏您的签名,您将需要使用快进合并(不创建新的合并提交)。为此,您需要在本地对所做的更改进行重新设置基础并进行签名。
或者您可以进行压缩,将所有小的提交汇总为一个新的提交,GitHub将代表您进行签名。
如果验证对您很重要,那么重新定基通常不是一个好主意,快速合并和合并提交将更好地反映实际发生的情况以及由谁撰写这些更改。