将文件保存在Git仓库中,但不要跟踪更改

我有一个CodeIgniter站点中的几个文件,我希望在repo中有但不跟踪任何更改。

例如,我将这个框架的一个新的安装部署到一个新的客户端,我想要下载下面的文件(他们有默认值CHANGEME),我只需要对这个客户端(数据库凭据,电子邮件地址信息,自定义CSS)。

// the production config files i want the files but they need to be updated to specific client needs application/config/production/config.php application/config/production/database.php application/config/production/tank_auth.php // index page, defines the environment (production|development) /index.php // all of the css/js cache (keep the folder but not the contents) /assets/cache/* // production user based styling (color, fonts etc) needs to be updated specific to client needs /assets/frontend/css/user/frontend-user.css 

目前如果我运行

 git clone git@github.com:user123/myRepo.git httpdocs 

然后编辑上面的文件,一切都很好。 直到我释放一个修补程序或修补程序,然后运行git pull 。 我的所有更改都将被覆盖。

对于我的代码点燃器项目,我保持database.php.exampleconfig.php.example回购。

然后我将config.phpapplications / config / database.php添加.gitignore文件中。

所以,最后,当我部署时,我可以复制.example文件(到config.php和database.php),自定义它们,并且不会被GIT跟踪。

git有一个不同的解决scheme来做到这一点。 首先更改不想跟踪的文件,然后使用以下命令:

 git update-index --assume-unchanged FILE_NAME 

如果要再次跟踪更改,请使用以下命令:

 git update-index --no-assume-unchanged FILE_NAME 

git-update-index文档

我会把它们放在你的.gitignore文件中,并根据需要手动复制它们。

所以骷髅文件名将在混帐,忽略文件名将不会在混帐(但将在.gitignore)。 这样,当手动步骤从“模板”(比骨架更好的名称)复制到“实际”,他们立即被忽略。