Ruby on rails 如何创建一个rails 6应用程序的多个版本?

Ruby on rails 如何创建一个rails 6应用程序的多个版本?,ruby-on-rails,git,Ruby On Rails,Git,我已经构建了一个Rails 6应用程序,我想 a) 不断改进 b) 用于多个不同的项目 我一直在想怎么做。一种方式似乎是引擎路线-最终可能我会走这条路线,但似乎有很多事情要做,我想现在就开始启动多个项目 我唯一能想到的另一件事是每个项目都有一个单独的git分支,也许可以使用对master的更新来传递到其他分支和项目,但尽管我找不到任何写着“不要那样做”的东西,但我有一种感觉,那是因为没人想到有人会想到尝试 这有捷径吗?我自己维护一切(应用程序的项目),我只想用多种方式使用我构建的东西,同时继续改

我已经构建了一个Rails 6应用程序,我想 a) 不断改进 b) 用于多个不同的项目

我一直在想怎么做。一种方式似乎是引擎路线-最终可能我会走这条路线,但似乎有很多事情要做,我想现在就开始启动多个项目

我唯一能想到的另一件事是每个项目都有一个单独的git分支,也许可以使用对master的更新来传递到其他分支和项目,但尽管我找不到任何写着“不要那样做”的东西,但我有一种感觉,那是因为没人想到有人会想到尝试


这有捷径吗?我自己维护一切(应用程序的项目),我只想用多种方式使用我构建的东西,同时继续改进它

正如您所说,您可以使用不同的git分支,也可以使用功能切换模式。请参阅此链接

您可以创建一个基本git repo,然后将其分叉到多个存储库中。虽然目前这可能会为您节省一些时间,但从长远来看,这可能会花费您的时间,因为您必须将基础应用程序中的更改合并到fork中(反之亦然),并处理解决每个fork中的冲突


从长远来看,使用引擎来共享共同的功能是前进的方向。通过引擎更新应用程序的“基本”功能,只需在gemfile中修改版本即可。

您可以将suspenders gem作为一种基本项目进行更改,以满足您的需要。否则,您可以创建基础项目,并将其纳入新项目中,然后将源代码更改为更新后的repo为什么在可以使用多个分支的情况下创建多个存储库?@eikes因为应用程序可能彼此之间存在显著差异,并且您可能希望在一个项目上与其他应用程序协作,而不是在另一个项目上。将其与功能分支结合起来,并拥有一个开发和稳定的分支*项目数量,你就会遇到大问题。@eikes不可否认,如果你只是为自己构建东西,或者如果你真正追求的是多租户,那么问题就不那么严重了,但是如果你为不同的客户构建东西,你的回购协议不应该有一大堆问题如果您必须将应用程序代码翻转过来,则为其中的其他客户端生成应用程序代码。你也应该考虑一下Git历史会给你带来什么麻烦。如果你使用这个GEM<代码,可能会有所帮助。https://github.com/jnunemaker/flipper我看不出这对@tenzindorjee的任何代码组织问题有什么帮助,除非应用程序在范围上非常相似。