我有一些配置文件(在RoR中的东西:.env,config / database.yml,.ruby-version),我想在我的本地环境中自定义它们。
我知道如何忽略该文件,以便不在本地跟踪它们,但是如何在“拉”或“合并”后停止文件与原点同步?
答案 0 :(得分:1)
我建议只修改那些配置文件的模板,而不是实际配置文件及其值。
您可以考虑使用content filter driver(使用.gitattributes
declaration)来生成实际文件。
我们的想法是在版本中管理这些配置文件,但使用 template 占位符代替实际(敏感)值。
生成的文件仍然被忽略(.gitignore
)
(来自“Customizing Git - Git Attributes”的图片,来自“Pro Git book”)
主要思想是:如果值取决于环境,则涂抹脚本会将占位符值替换为实际值,具体取决于环境,可以从 outside repo中获取的值(特别是对于生产值是真的。)