情况就是这样:我们有几个配置文件,当用户克隆repo时,预计他们会修改这些配置文件.这些文件本身的结构使得这个快速,简单和简单 - 但这意味着任何执行"git add*"或"git commit -a"的用户最终都会将这些更改发送回服务器并进行更改!
这不仅会在下次拉动时为下一个人破坏事物(他每次都需要合并并处理他甚至不需要的文件的冲突),这意味着用户很容易意外地破坏持续集成测试我们已经开始了.
我想要的是git ignore的效果(它不关心它是否会被改变,它不会提交它),但不必完全删除文件.如果我们还能以某种方式强制更改文件,那将是很好的.
我知道有很多方法可以在SVN中执行此操作,我认为Git必须具有相同的功能.
git update-index --assume-unchanged <filename>
Run Code Online (Sandbox Code Playgroud)
(它实际上用于不同的目的 - 在不那么优化的文件系统上提高git操作的性能,从而可以指示git假设某些文件没有被触及.你可以用它来"暂时"忽略跟踪的文件)
您还可以查看人们处理配置文件的其他方式,例如使用模板配置文件,用户创建特定的配置文件(后者被忽略)等.