【问题标题】:A Rails project from multiple Git repositories来自多个 Git 存储库的 Rails 项目
【发布时间】:2011-12-02 14:13:29
【问题描述】:

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

我想要这样的设置:

  • 我的 Bootstrap fork 存储库(添加了样式、scss 和 coffeescript)
  • 我的视图存储库(html、自定义 css/javascript、针对各种浏览器和平台的测试、不支持活动记录且几乎没有任何模型)
  • 其他所有内容的存储库

我希望保留这些独立的存储库。或者我的所有代码都拥有一个,但也保留单独的存储库。

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      如果你不习惯使用 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 主项目中执行“捆绑更新”以获取更改。

      通过使用本地路径,您将不需要更新您的包。

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

      【讨论】:

        【解决方案3】:

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

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

        将远程名称替换为您要调用的名称

        然后,一旦你做出提交,你就会推送到适当的 repo

        也去看看

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2016-06-15
          • 2013-05-08
          • 2011-12-09
          • 1970-01-01
          • 2013-10-21
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多