这可能是一个非常初学的问题,但我正在创业环境中的大型制作网站上工作。我刚刚开始使用Heroku,Github和Ruby on Rails,因为与仅在本地进行更改并上传到服务器相比,我正在寻找更多的灵活性和版本控制。
我的问题可能非常明显,如果我应该为每个环境(开发,测试,登台,生产等)使用不同的存储库,或者仅使用主存储库和分支来处理新功能。
我最初的想法是创建多个存储库。例如,如果我添加一个新功能,如图像上传器,我会使用开发存储库中的代码。进行更改,并在整个过程中通过提交上传,以跟踪小的更改。一旦我在本地测试了它,我就想将它上传到测试存储库,只需一次提交就会列出添加的功能(例如“将图像添加到帐户页面”)。
我的想法是,这将允许在开发环境中对提交进行微观管理,而测试环境提交将更多地关注错误修复等。
这在我看来是有道理的,因为当你在环境中向上移动时,你会删除无关的提交,并专注于每个环境所需的内容。我还可以看到如何通过分支实现这一点,所以我正在寻找关于如何处理它的一些建议。优点和缺点,个人例子等。
我已经看到了其他一些相关的问题,但似乎没有一个问题涉及我所拥有的相同问题。
提前致谢!
-Matt
答案 0 :(得分:2)
使用不同的repos对分布式 VCS有意义,我在下面提到了发布方面(推/拉):
管理不同环境的一个难点是配置文件,每个环境可以包含不同的值。
为此,我建议content fiter driver:
这有助于生成包含当前值的实际配置文件,具体取决于当前的部署环境。