Jef*_*Kim 2 git github branching-and-merging
所有推送到develop分支的提交都表明它们已经过验证。
为了合并从develop到的所有内容master,我决定单击一个按钮Rebase and merge。(我不想为 master 创建另一个新提交。)
令人惊讶的是,合并成功后,所有经过验证的签名都从 master 上消失了。
重新定位时,更改会在 master 上重播。这会导致它们“重新基于”新的父提交,这将更改提交 ID(部分基于父提交 ID)。
Rebase 还可能需要在重放提交时合并更改。即使合并自动发生,它也可能会更改文件的内容。文件内容是构成 commit-id 的另一个元素。
验证是通过内容和提交元数据的加密签名完成的。因此,变基将破坏该签名。
为了不破坏您的签名,您需要使用快进合并(不创建新的合并提交)。要实现这一点,您需要在本地重新设置更改的基础并对其进行签名。
或者,您可以使用 squash-rebase,将您所有的小提交汇总到一个新提交中,GitHub 将代表您签署该提交。
如果验证对您很重要,那么变基通常是一个坏主意,快进合并和合并提交将更好地反映实际发生的情况以及这些更改的作者。
| 归档时间: |
|
| 查看次数: |
345 次 |
| 最近记录: |