忽略对Git中文件的更改而不将其从Repo中删除?

忽略对Git中文件的更改而不将其从Repo中删除?,git,Git,情况是这样的:我们有几个配置文件,当用户克隆repo时,预期他们会修改这些配置文件。文件本身的结构使其变得快速、简单和容易,但这意味着任何执行“git add*”或“git commit-a”的用户最终都会将其发送回服务器,并且已经进行了更改 这不仅会让下一个人在下一次拉动时(他每次都需要合并并处理一个他根本不需要的文件的冲突),还意味着用户很容易意外地破坏我们正在进行的持续集成测试 我想要的是git ignore的效果(它不在乎它是否被更改,它不会提交),但是不必完全删除文件。如果我们也能以某

情况是这样的:我们有几个配置文件,当用户克隆repo时,预期他们会修改这些配置文件。文件本身的结构使其变得快速、简单和容易,但这意味着任何执行“git add*”或“git commit-a”的用户最终都会将其发送回服务器,并且已经进行了更改

这不仅会让下一个人在下一次拉动时(他每次都需要合并并处理一个他根本不需要的文件的冲突),还意味着用户很容易意外地破坏我们正在进行的持续集成测试

我想要的是git ignore的效果(它不在乎它是否被更改,它不会提交),但是不必完全删除文件。如果我们也能以某种方式强制更改文件,那就太好了

我知道在SVN中有很多方法可以做到这一点,我认为Git必须有一个等价物。

Git更新索引——假设不变
git update-index --assume-unchanged <filename>
(实际上,这是为了另一个目的——在不太理想的文件系统上提高git操作的性能,您可以指示git假定某些文件未被触及。您可以使用它“暂时”忽略跟踪的文件)


您还可以查看人们处理配置文件的其他方式,例如使用一个模板配置文件,用户可以使用该模板配置文件创建他们的特定配置文件(后者被忽略),等等。

我会使用
configfile.template
,其中
configfile
列在
中,以及自述或其他关于复制和调整的提示。设置所述
configfile
的目标,以便在没有现有配置的情况下做一些合理的事情(内置
configfile.template
等效物?),