Git:如何忽略对跟踪文件的更改?

Eug*_*kov 2 git config gitignore

我的项目中有一个带有数据库设置的文件,我已将其设置为一些默认值。跟踪Git并检入该文件。由于将使用各种开发人员机器的不同值来编辑此文件,所以有什么方法可以让我Git忽略该文件的新更改?

我尝试将文件添加到.gitignore文件中,但是由于已跟踪文件,因此不会忽略该文件。在其他情况下这还不错,但是我想知道是否可以在这里做些什么?

AXO*_*AXO 11

人们可以使用git update-index --skip-worktree FILE这个目的。

它类似于--assume-unchanged但不同于--assume-unchanged它不仅仅是一个不可预测的性能技巧

要取消--skip-worktree效果并取消设置标志,请使用--no-skip-worktree.

缺点

  • 此标志仅用于本地存储库,不能推送到远程。因此,每个需要忽略文件的克隆都应该手动执行。
  • 切换到另一个分支或使用git pull. (更多细节


Ale*_*sky 5

我建议对源代码控制文件的命名与其实际的预期名称不同。例如,如果文件通常命名为config.json,则命名示例文件config.json.dist并提交该文件。然后添加config.json到您的.gitignore文件。您的开发人员仅需cp config.json.dist config.json在克隆后再根据需要对其进行编辑,即可进行后续提交,而不必担心意外更改默认文件或忘记始终打开和关闭某些设置。

您甚至可以编辑代码以config.json首先搜索,如果不存在,则退回到config.json.dist。这将使开发人员甚至无需执行复制步骤即可工作。(这是PHPUnit的工作方式。)