【问题标题】:git one local branch synchronizing with multiple remote branches: how to?git 一个本地分支与多个远程分支同步:如何?
【发布时间】:2011-11-03 14:29:13
【问题描述】:

我有一个应用程序出售给多个客户。每个客户都有自己的专用应用程序(在 Heroku 上)。

这些客户的应用程序只有 3 个配置文件不同:database.yml、aws.yml 和corporate.rb

在本地,我有一个主分支和与我的客户一样多的其他本地分支。我需要这些本地分支来存储每个客户的 3 个配置文件。每次在master上做改动,都会和每一个客户分支合并,一个一个推送到Heroku。

这个太重了……

根据这篇文章的建议:pull/push from multiple remote locations,我创建了一个远程分组分支并破解了我的配置文件,以便该分支与多个 url 相关联。

问题是当我尝试推送它时,它拒绝这样做,因为遥控器没有正确同步。如果我强制推送,它会覆盖我的配置文件,这也不是解决方案。

我尝试将这些配置文件包含在 .gitignore 中,但它一直在推送它们。

有解决这个问题的办法吗?谢谢!!!

【问题讨论】:

    标签: git synchronization heroku


    【解决方案1】:

    我通过使用 Heroku 的环境变量解决了这个问题。 实际上,我不必设置任何变量来使用它们。我只是使用 APP_NAME 变量并在初始化文件中为每个应用程序设置我的配置:

    # Custom values
    
      case ENV['APP_NAME']
      when 'pgp'
        CORPORATE_NAME = 'PGP Development'
        S3_BUCKET = 'pgpdevelopment'
      when 'anchor'
        CORPORATE_NAME = 'Anchor Group'
        S3_BUCKET = 'anchorgroup'
      when 'corionl'
        CORPORATE_NAME = 'Corio NL'
      when 'masterproj'
        CORPORATE_NAME = 'Corporate Demo'
      when 'adg'
        CORPORATE_NAME = 'ADG'
      end
    
    #Default values
    
      CORPORATE_NAME ||= ENV['APP_NAME']
      DEPARTMENT_SELECTION ||= false
      GEOSCOPE_SELECTION ||= false
      GEOSCOPE_DEFAULT ||= 'world'
      DEPARTMENT_DEFAULT ||= 'all'
      S3_BUCKET ||= ENV['APP_NAME']
    
      S3_CREDENTIALS = {
      :access_key_id => my_key_id,
      :secret_access_key => my_access_key
      }
      if Rails.env == "production"
           S3_CREDENTIALS[:bucket] = S3_BUCKET
      else
           S3_CREDENTIALS[:bucket] = "#{S3_BUCKET}_dev"
      end
    

    谢谢你让我走上正轨!

    【讨论】:

      【解决方案2】:

      我不会对您存储库中的客户特定工件进行版本控制。在其他地方进行转换,然后从那里推到heroku。您需要一个“管理员”存储库。

      【讨论】:

      • 您能详细说明一下吗?如何在不使用 Git 的情况下推送到 Heroku? “管理员”回购是什么意思?谢谢!
      猜你喜欢
      • 1970-01-01
      • 2022-11-19
      • 1970-01-01
      • 1970-01-01
      • 2010-12-20
      • 1970-01-01
      • 2013-06-09
      • 2018-12-21
      • 2019-03-08
      相关资源
      最近更新 更多