4

这可能是一个非常初学者的问题,但我正在启动环境中的大型生产网站上工作。我最近才开始使用 Heroku、Github 和 Ruby on Rails,因为与仅在本地进行更改和上传到服务器相比,我正在寻找更多的灵活性和版本控制。

我的问题可能非常明显,是我应该为每个环境(开发、测试、登台、生产等)使用不同的存储库,还是只使用一个主存储库和分支来处理新功能。

我最初的想法是创建多个存储库。例如,如果我添加一个新功能,比如图像上传器,我会使用开发存储库中的代码。进行更改,并在提交过程中将其上传以跟踪小的更改。一旦我在本地对其进行了测试,我想将它上传到测试存储库,其中包含一个列出添加的功能的提交(例如“添加图像上传器到帐户页面”)。

我的想法是,这将允许在开发环境中对提交进行微观管理,而测试环境的提交将更专注于错误修复等。

这在我看来是有道理的,因为当您在环境中向上移动时,您会删除无关的提交并专注于每个环境所需的内容。不过,我也可以看到如何通过分支来实现这一点,所以我正在寻找一些关于如何处理的建议。利弊,个人例子等。

我看到了其他几个相关的问题,但似乎没有一个涉及到我的同样担忧。

提前致谢!

-马特

4

1 回答 1

2

对分布式VCS使用不同的存储库是有意义的,我在以下内容中提到了发布方面(推/拉):

管理不同环境的一个困难方面是每个环境可以包含不同值的配置文件

为此,我推荐content fiter 驱动程序

内容过滤器

这有助于生成包含当前值的实际配置文件,具体取决于当前的部署环境。

于 2013-04-13T11:18:10.653 回答