链接Git Repos用于开发和生产网站部署?

我想知道是否可行,甚至明智地将git repos连接在一起。 我想到的情况是,我在远程Web服务器上的git仓库,其中主分支是指向一个单独的开发webroot结构,我的web开发人员可以推送他们的文件进行testing。 一旦所有东西都被检查出来,并且网站仍然按照预期在开发中运行,那么pipe理者将会审查这些变化,然后使用开发结构中的git将更改提交到同一个服务器上的生产回购站,从而使更改生效。

我试图解决的问题是,开发人员目前可以访问实时网站,并对其进行简单的更改。 偶尔这些更改会破坏网站,特别是如果更改从未经过testing。 我想强迫一切通过开发分支,迫使它进行testing,然后才把它承诺到网站的生产版本。 我不希望这会完全解决我的问题,但希望能大大减less生产中的愚蠢错误。

我也不想插入一个不需要的额外的复杂层,因此我的问题是否这是明智的做法。 目前所有的开发人员都使用sftp来推送文件,所以使用git可能会遇到一些阻力,但是我真的很喜欢版本控制的想法,如果有什么东西溜走了,就会回到已知好的状态。

所以我正在寻找关于如何使用git的build议或其他人如何处理这种情况的方法。

正如@EEAA在评论中提到的那样,你几乎肯定需要一个CI / CD系统,而不是一个git回购链。 我最近一直在研究go.cd ,它通过一个Web界面,而不是需要人们拉/推代码的方式,对你所描述的那种“基于审批”的部署有很好的支持。

我是一个坚定的信仰者(就像做技术pipe理的人),认为经理人应该相信他们的开发人员不要做愚蠢的事情,如果开发人员做了愚蠢的事情,经理就会犯错 – 要么是因为适当的期望还没有到位,或者是因为错误的人被雇用了。 如果开发人员正在破坏代码,那么经理需要弄清楚为什么开发人员正在这样做,并解决这个问题,而不是阻止开发人员能够实时推送代码。