如何在Git存储库中保留默认配置文件,同时允许维护者使用自定义版本?

时间:2011-08-30 07:00:57

标签: git github githooks

我们在公共Github存储库中有一个.xml配置文件,我们希望包含可供新用户使用的.xml文件的基本默认版本。

但是,软件包维护者希望能够编辑他们的个人.xml文件而不必提交它。

在允许维护者使用自定义版本的同时,在公共Git存储库中保留默认配置文件的最简洁方法是什么?

3 个答案:

答案 0 :(得分:2)

我认为最简单的解决方案是让使用此文件的应用程序检查不同名称的XML文件(例如,后缀为.local.xml),该文件优先于默认位置中的文件。应该提交默认位置中的那个,而应该将可选的本地覆盖的路径添加到.gitignore

在我看来,其他解决方案(例如--assumed-unchanged,过滤器驱动程序)更加繁琐且容易出错。

答案 1 :(得分:1)

通常的方法是忽略对本地文件的任何更改:

git update-index --assume-unchanged file

其他解决方案:

  • 添加并提交该文件,然后将其从索引中删除并将其添加到.gitignore文件
  • 使用filter driver恢复提交时的原始内容

最后两个解决方案的优点是它们强制执行不对repo进行任何更改的策略(与第一个涉及本地克隆repo的开发人员主动更新索引的策略相反)。

答案 2 :(得分:1)

在.xml文件上应用git update-index --assume-unchanged,以便Git不会检查它们是否有修改,有效地“忽略”对这些文件的修改