猿问

如何在回购/项目中跟踪系统特定的配置文件?

我有一个ruby项目,并且开发和生产上的数据库主机和端口可能不同。我需要一种在两种环境的脚本中获取不同值的方法。

该项目应该完整-因此应该有一些方法可以指定默认值。我不希望克隆丢失配置文件。因此完全忽略它们是行不通的。

您如何使用git解决这个问题?


函数式编程
浏览 499回答 1
1回答

慕村225694

我建议使用:模板配置文件(以变量名代替主机名和端口值的文件)脚本能够根据环境使用适当的值替换那些变量名(由脚本检测)然后,Git解决方案是git属性过滤器驱动程序(另请参见GitPro book)。筛选器驱动程序由一个clean命令和一个smudge命令组成,这两个命令都可以不指定。在上checkout,smudge指定命令后,将从标准输入中为该blob对象提供命令,并使用其标准输出来更新工作树文件。同样,该clean命令用于在签入时转换工作树文件的内容。这样,污点引用的脚本(由Git管理)可以用特定于环境的值替换所有变量,而干净的脚本会将其内容还原到未修改的配置文件中。
随时随地看视频慕课网APP
我要回答