我有一个具有以下分支设置的应用程序:
某些特定于每个分支(和部署环境)的设置文件。我希望这些文件保留在版本控制中(因此我可以在特定分支上对它们进行更改并推送等),但我希望能够在分支之间合并(或重新绑定),而不会在合并中提取这些文件 - 永远
例如,假设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,则会合并更改。
有什么建议吗?
答案 0 :(得分:0)
.gitignore通常作为文件结构的一部分在每个分支上提交,因此每个分支中可以有不同的忽略列表,就像每个分支中有不同的代码一样。您只需要记住适当地设置忽略列表(或注释掉不需要的列表)。