我想知道将 git repos 链接在一起是否可行,甚至是明智的。我考虑的情况是,我在远程 Web 服务器上有 git repos,其中主分支指向一个单独的开发 webroot 结构,我的所有 Web 开发人员都可以将他们的文件推送到该结构进行测试。一旦一切都检查完毕,并且网站在开发中仍按预期运行,经理将审查更改,然后使用开发结构中的 git 将更改提交到同一服务器上的生产 repos,从而使更改生效。
我试图解决的问题是,开发人员目前可以访问实时网站并向其推送简单的更改。有时,这些更改会破坏网站,尤其是如果这些更改从未经过测试的话。我希望强制将所有内容都通过开发分支进行,强制对其进行测试,然后才将其提交到网站的生产版本。我不指望这能完全解决我的问题,但我希望它能显著减少生产中出现的愚蠢错误的数量。
我也不想增加不必要的复杂性,因此我想知道这样做是否明智。目前所有开发人员都使用 sftp 来推送文件,因此使用 git 可能会遇到一些阻力,但我非常喜欢版本控制和回滚到已知良好状态的想法,以防出现问题。
因此,我正在寻找有关以这种方式使用 git 的建议或其他人处理这种情况的替代方法。
答案1
正如 @EEAA 在评论中提到的,你几乎肯定想要一个 CI/CD 系统,而不是一连串的 git repos。我最近一直在调查转载,并且它通过 Web 界面很好地支持您所描述的那种“基于批准”的部署,而不需要人们拉/推送代码。
我(作为一名从事技术管理的人)坚信,经理应该相信他们的开发人员不会做蠢事,如果开发人员做了蠢事,那错就错在经理身上——要么是因为没有设定适当的期望,要么是因为雇佣了错误的人。如果开发人员在实时推送有问题的代码,经理需要找出开发人员这样做的原因,并解决那问题,不会阻止开发人员实时推送代码。