我想为软件开发建立一条值得信赖的道路。这意味着代码的每一次更改都必须由作者和一名审阅者签名,然后才能被接受。这些更改的签名在发布时必须是可验证的,或者必须有一些其他方法来确保存储库不会被篡改,或者添加其他更改。
我期望为此使用的版本控制系统是 git,但也接受其他选项。可以通过 GnuPG 或 SSL 证书进行签名。
我想的工作流程大致是:
- 当前已验证的主干已分支
- 更改由一名或多名开发人员在分支中开发
- 一名或多名开发人员签署分支所做的更改
- 审阅者审查并测试更改
- Reviewer 对分支所做的更改进行签名
- 分支“合并”到当前已验证的主干中
合并不必是万无一失的,例如未经审查的更改需要不可合并到主干 - 只是在发布之前,需要有一种方法来检查主干中是否有任何未经审查(未签名)的更改。通常,不需要防止篡改,只需检测到即可。
我想要一份关于如何设置以及如何完成每个操作的简短指南。一旦我得到一些指示,我就可以自己弄清楚细节。
另外,我在技术上已经知道'git tag -s',但我不确定如何将它应用于这个特定问题。