我已经开始为我的项目使用git了,当我创建一个项目时,它有一个包含配置文件的config文件夹:
application/config/config.php
application/config/database.php
application/config/routes.php
当我第一次提交时,我希望提交这些文件(及其默认值),因此它们作为“默认”配置存在于存储库中,如果我克隆到存储库,我会得到这些文件。当我更新它们以包含我的配置变量时(对于我正在开发的版本)我不希望它们在存储库中更新,我希望它们在存储库中保持默认状态。
我首先尝试将它们设置为默认状态,然后将它们添加到我的.gitignore文件中,如下所示:
application/config/*
现在当我提交我的配置文件时没有提交(是的!)但是原始默认值消失了,文件夹application / config /不再存在于我的存储库中。
我认为我在这里遗漏了一些明显的东西,但我对git缺乏经验。
如何在第一次提交时提交配置文件,但是再次 它们在默认状态下保留在存储库中?
答案 0 :(得分:7)
您可以在版本化后更新其索引:
git update-index --assume-unchanged application/config/config.php
或者您甚至可以更加谨慎地更新索引:
git update-index --skip-worktree application/config/config.php
(如“git update-index --assume-unchanged
and git reset
”中所示)
另一个解决方案是不版本那些最终配置文件(因为它们的内容可能会因你指出的而有所不同),但要使用filter driver:
你会版本化:
application/config/config.tpl
)