将文件添加到git存储库,但忽略其未来的更改

时间:2014-11-10 22:54:35

标签: git

我想添加overrides.json。这允许开发人员在本地更改配置对象。我希望它以默认状态添加到存储库中,但我希望将来忽略它。

似乎.gitignore迫使我将其从分支中移除,然后才能忽略它。我知道git update-index,但每个开发人员都必须手动执行此操作。为了澄清,我不希望删除该文件;我实际上希望将文件添加到存储库但在此之后未跟踪。

我不能简单地删除它,因为GET对丢失文件的请求会在浏览器的javascript控制台中抛出丑陋的错误消息。

2 个答案:

答案 0 :(得分:25)

添加文件后,您可以通过执行以下操作忽略所有进一步的更改:

git update-index --assume-unchanged path/to/file

如果您在某个时候决定需要推送更多更改,则可以通过执行以下操作再次允许更改:

git update-index --no-assume-unchanged path/to/file

为什么不忽略它们并将它们添加到不同的位置,而不是在repo中添加文件,例如。安装目录。这种方式在克隆了repo后,开发人员需要执行一个init步骤,将所需文件复制到适当的位置,忽略它们。

答案 1 :(得分:2)

忽略它并且不要将它添加到回购中。相反,如果项目不存在,则由项目的makefile生成默认版本。当然假设你有一个makefile,或者任何类型的make或build过程。