来自多个Git存储库的Rails项目

时间:2011-12-02 14:13:30

标签: ruby-on-rails git projects-and-solutions

是否可以从多个Git存储库中获得Rails应用程序?目前我有一个包含所有代码的主应用程序,我手动将代码粘贴到其他存储库中。其他存储库现在是:我的Twitter Bootstrap的存储库和CSS / HTML / Javascript(前端)代码的存储库。前端存储库用于创建大量测试,主要用于移动safari。它没有数据库支持,只是为我的应用程序创建和管理前端。

我想要这样的设置:

  • 我的Bootstrap fork的存储库(添加样式,scss和coffeescript)
  • 我的观点的存储库(html,自定义css / javascript,各种浏览器和平台的测试,没有活动记录支持,几乎没有任何模型)
  • 我的其他所有的存储库

我希望保留这些分隔的存储库。或者使用我的所有代码,但也保留单独的存储库。

3 个答案:

答案 0 :(得分:2)

你最好使用git submodules,更清洁,更简单。

答案 1 :(得分:1)

如果您不方便使用它们,可以使用git子模块。您可以将您的申请分解为Engines或Railties。例如,如果你的gemfile中有一个Rails 3.1应用程序,你可以引用一个外部引擎,如

gem 'my_gem_name', :path => '../path/to/my/custom_engine'

同样,您可以通过git直接引用引擎,例如

gem 'bootstrapped', :git => 'git@github.com:entropillc/bootstrapped.git'

像往常一样,在修改gemfile之后,执行bundle install

重要提示,如果您正在引用git存储库,则需要将所有文件更改推送到引擎的远程存储库,然后在主Rails项目中执行“bundle update”以获取更改。

通过使用本地路径,您无需更新捆绑包。

这样做的缺点是一切都必须在宝石中,好的一面是,如果你主要是一个Rails开发人员重用宝石可以帮助你更快地启动项目。

答案 2 :(得分:0)

是的,您可以在本地git仓库中拥有多个git遥控器。一旦你做出提交,你就会推送到你选择的远程仓库。因此,要添加远程仓库,您可以在命令行中输入

$ git remote add <remote-name> git@github.com:username/Hello-World.git

将remote-name替换为您想要的名称

然后,一旦你做出提交,你就会推送到合适的仓库

也请查看

How do I fork multiple projects into one repository with git?