我想为软件开发建立一个可信的路径。这个 意味着对代码的每次更改都必须由作者签名 和一位审稿人,在被接受之前。这些签名为 更改必须在发布时可验证,或者必须有一些 确保存储库不能被其他方式 被篡改,或添加了其他更改。
我希望为此使用的版本控制系统是 git,但也接受其他选项。签名可以通过 GnuPG 或 SSL 证书。
我想的工作流程大概是:
- 当前验证的主干是分支的
- 更改由一名或多名开发人员在分支机构中开发
- 一个或多个开发人员签署分支所做的更改
- 审阅者审阅并测试更改
- 审阅者签署分支所做的更改
- 分支“merge ”到当前验证的主干中
merge 不一定要万无一失比如未经审查 更改需要不可 merge 到主干 - 就在之前 发布,需要有一种方法来检查是否有任何 主干中未经审查(未签名)的更改。通常,不需要防止篡改,只需检测即可。
我想要一份关于如何设置它以及如何完成每项操作的简短指南。一旦我得到一些指示,我就可以自己弄清楚具体细节。
此外,我已经从技术上了解“git tag -s”,但我不确定如何将它应用于这个特定问题。
最佳答案
在您标记之前,更改不会被签署。在此之前的任何内容都可以由作者或其他带外机制验证,但不能在 git 中验证。
git 可以验证更改的继承是否正确,但只有签名标签才能验证更改本身是否正确。
对于您的工作流程,您可能会发现自己标记了很多。
关于git - 带有签名的 git 中的可信开发路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2423520/