如何为每个分支使用不同的.gitignore(或替代解决方案)?

时间:2019-05-31 07:53:52

标签: git

我有以下设置:

起源/母版起源/我的分支
----------------- ----------------------
test.txt的
 | |
 | |
 | |

本地/主分支本地/我的分支
----------------- ----------------------
test.txt

这个想法是我需要在每个分支上使用不同的test.txt文件,将它们视为配置文件。但是,如果其他人想要克隆项目,则test.txt必须在原始服务器/主服务器上,以具有默认的工作配置。
我想拥有自己的test.txt文件(使用自己的配置进行修改),并且我也不想将其推送到我的分支机构的远程位置,因为稍后我会将其合并到master中,并且我的配置将覆盖默认的test.txt。

我该如何实现?我当时在考虑为每个分支使用2个不同的.gitignore,但是在一个分支上修改.gitignore,在另一个分支上修改它。另外,由于本地/我的分支机构上的test.txt不会提交到远程,因此每次我检出master和check back时,文件都会被删除。

1 个答案:

答案 0 :(得分:1)

要解决此问题,您需要签入一个配置文件,并忽略第二个配置文件。第一个包含默认配置。第二个包含您的本地修改,这些修改将覆盖默认设置。如何完成此操作取决于您的项目。

这是使用YAML配置文件的Ruby中的简单示例。

config = YAML.load_file('config.yml')
local_config = YAML.load_file('local_config.yml')
config.merge!( local_config )

这不仅对开发有益,对您的用户也有益。他们可以保留默认配置文件的原始状态,以便在有新版本可用时进行干净的更新。他们的本地更改进入本地配置文件。