我可以使用Git维护一个应用程序的两个版本吗?

时间:2011-04-28 09:38:01

标签: ruby-on-rails git branching-and-merging fork

我正在使用Ruby on Rails编写应用程序。此应用程序将交付给至少两种不同的客户类型。基数始终相同,但有些视图不同。这主要是它。现在。

例如,有没有办法(例如使用分支)使用相同的代码库并仅将视图分开?我阅读了Git手册进行分支,但仍不确定这是否是实现我需要的最佳方式。

另一个想法是分叉。但是,这是聪明的吗?如果我在fork A的代码中更改某些内容,是否很容易将这些更改合并到fork B中?

3 个答案:

答案 0 :(得分:4)

git中的分支和分支一点都不差,因为合并支持很棒(可能是最好的VCM)。

就个人而言,我不喜欢分支或分支项目提供不同定制的想法,因为它很快就会变得非常困难,例如:如果你有15种不同的部署,你打算做什么?

我认为更好的方法是构建应用程序,使其根据某些参数的不同行为。我很清楚,有时实现是非常不同的,所以这可能不再有用了。 另一种方法是在GEM中构建应用程序的核心,GEM充当应用程序的服务,并且每个客户端唯一自定义的是视图。当然,创业板应足够通用,以提供您所需的所有服务。

请与我们分享您的决定,因为您的问题没有最佳答案。

答案 1 :(得分:0)

最好让您在构建版本或运行时在类型之间进行产品选择,这样就可以使用一组源代码。

否则可以使用分支和合并,但是管理事物会更加困难。分叉基本上是在这个级别上分支。

答案 2 :(得分:0)

我同意@Augusto。您可以在2个不同的环境中运行您的应用程序,即production_A和production_B。从那里,您可以使用SettingsLogic基于 Rails.env 定义配置,然后在选择要使用的视图时在应用中引用这些设置。