我的项目中有一个包含数据库设置的文件,我已将其设置为某些默认值。该文件由Git
跟踪并签入。由于此文件将使用不同的值编辑各种开发人员计算机,我可以告诉Git
忽略对此文件的新更改吗?
我尝试将文件添加到.gitignore
文件中,但由于文件已被跟踪,因此不会被忽略。这在其他情况下还不错,但我想知道我能在这里做些什么吗?
答案 0 :(得分:4)
我建议以与实际预期名称不同的方式命名源控制文件。例如,如果文件通常名为config.json
,则将您的示例文件命名为config.json.dist
并提交此文件。然后将config.json
添加到您的.gitignore
文件中。您的开发人员在克隆后只需cp config.json.dist config.json
,然后根据需要进行编辑,进行后续提交,而不必担心无意中更改默认文件或忘记始终打开和关闭某些设置。
您甚至可以编辑代码以首先搜索config.json
,如果不存在,则回退到config.json.dist
。这将使开发人员无需执行复制步骤即可工作。 (这就是PHPUnit的工作原理。)
答案 1 :(得分:1)
您可以使用git update-index --assume-unchanged <file>
如果您想再次跟踪它,请使用git update-index --no-assume-unchanged <file>
答案 2 :(得分:0)
一个人可以为此使用git update-index --skip-worktree FILE
。
它与--assume-unchanged
类似,但与--assume-unchanged
,is not just an unpredictable performance trick不同。
要取消--skip-worktree
效果并取消设置标志,请使用--no-skip-worktree
。
git pull
时可能会遇到冲突。 (more details)