我们在公共 Github 存储库中有一个 .xml 配置文件,我们希望包含该 .xml 文件的基本默认版本,可供新用户使用。
但是,包维护者希望能够编辑他们的个人 .xml 文件,而不必围绕它进行提交。
在允许维护人员使用自定义版本的同时,将默认配置文件保存在公共 Git 存储库中的最干净的方法是什么?
我认为最简单的解决方案是让使用此文件的应用程序检查一个不同命名的 XML 文件(例如,后缀为.local.xml
),该文件优先于默认位置中的文件。应提交默认位置中的那个,而应将可选本地覆盖的路径添加到.gitignore
.
在我看来,其他解决方案(例如--assumed-unchanged
,过滤器驱动程序)更加繁琐且容易出错。
通常的方法是在本地忽略对该文件的任何更改:
git update-index --assume-unchanged file
其他解决方案:
.gitignore
文件中后两种解决方案的优点是它们强制执行不对存储库提交任何更改的策略(而不是第一个涉及本地克隆存储库的开发人员主动更新索引的策略)。
应用于git update-index --assume-unchanged
.xml 文件,以便 Git 不会检查它们的修改,有效地“忽略”对这些文件的修改