Github的分支特定设置文件,不会合并

时间:2014-12-10 23:26:56

标签: git github pull-request

我有一个具有以下分支设置的应用程序:

  • 生产
  • 分期
  • DEV-一个
  • dev的-B
  • dev-c(etc)

某些特定于每个分支(和部署环境)的设置文件。我希望这些文件保留在版本控制中(因此我可以在特定分支上对它们进行更改并推送等),但我希望能够在分支之间合并(或重新绑定),而不会在合并中提取这些文件 - 永远

例如,假设production的{​​{1}}包含:

config.txt

key=production-api-key staging有:

config.txt

依此类推。如果我对暂存中的任何文件进行更改,请推送到GitHub,打开PR,然后合并,我希望在合并中忽略key=staging-api-key 。另外,如果我在config.txt上更改config.txt,然后推送到GitHub,并且项目上的其他开发人员提取更改,我希望他们看到我staging的新修改版本推送到config.txt分支(显然只在staging分支上)。

staging不是我在这里寻找的东西,因为这将忽略所有分支的任何变化,并且我所拥有的文件的任何本地版本将永远是正在使用的东西,以及事实当其他开发人员试图将更改提取到特定分支时,我对其所做的任何更改都不会得到反映。

我考虑过使用.gitignore,虽然这会在每个分支上允许不同版本的git update-index --assume-unchanged config.txt(假设我在运行config.txt之前提交了更改),但它赢了& #39; t允许我更新文件,如果我打开PR,则会合并更改。

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

.gitignore通常作为文件结构的一部分在每个分支上提交,因此每个分支中可以有不同的忽略列表,就像每个分支中有不同的代码一样。您只需要记住适当地设置忽略列表(或注释掉不需要的列表)。