git如何使得文件在既存在远程仓库中,又不会提交它的修改

情景:

  • 项目中有一个配置文件config.js,这个文件对于项目启动有重要的作用,**需要存在项目仓库中**。
  • 每个人clone下来后,需要对它根据**自己**主机的ip来修改。
  • 这个文件如果被别人提交了修改覆盖,项目配置则会出问题。

问题:

  • 怎么实现这个文件在clone的时候存在,但是在commit的时候被忽略?

要求:

  • 不要手动模式,即让开发者自己创建这个文件,或者commit的时候自己勾掉文件,或者在pull后再手动修改成正确配置。

这种情况建议用svn

看看是否可以分成多个配置文件,根据环境来判断使用哪个配置文件。每个人只需要修改自己本地的配置文件。一般情况下,可以存在三个配置文件:
线上环境配置文件: config.prod.js
测试环境配置文件: config.test.js
本地环境配置文件: config.local.js.

每个人维护自己的一个 config.js分支.

我找到一种方法,在项目启动的时候创建文件,并且把文件加入到 gitignore