我开发时的一个常见情况是代码库将有几个需要机器特定设置的配置文件。这些文件将被签入 Git,而其他开发人员总是会意外地将它们重新签入并破坏其他人的配置。
一个简单的解决方案是不将它们签入 Git,甚至另外为它们添加一个 .gitignore 条目。然而,我发现在文件中包含一些合理的默认值要优雅得多,开发人员可以修改这些默认值以满足他的需要。
有没有一种优雅的方法可以让 Git 很好地处理这些文件?我希望能够修改特定于计算机的配置文件,然后能够运行“git commit -a”而无需签入该文件。
让您的程序读取一对配置文件以进行设置。首先,它应该读取config.defaults
将包含在存储库中的文件。然后,它应该读取config.local
应列出的文件.gitignore
通过这种安排,新设置将出现在默认文件中,并在更新后立即生效。如果它们被覆盖,它们只会在特定系统上有所不同。
作为这个的变体,你可以有一个通用的config
您在版本控制中发布的文件,并让它执行类似的操作include config.local
引入机器特定的值。这在您的代码中引入了更通用的机制(相对于策略),从而实现了更复杂的配置(如果您的应用程序需要的话)。在许多大型开源软件中都可以看到,这种流行的扩展是include conf.d
,它从目录中的所有文件读取配置。
Also 看我的回答类似的问题。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)