如何忽略存储库中的文件?

问题描述 投票:82回答:4

我有一个文件(config.php),已经提交给Git存储库,但我想在本地忽略,即我希望该文件保留在存储库中,但强制Git忽略对它的任何更改。

我将文件放入.gitignore,但它仍然标记为已更改,Git仍在尝试对其进行更改,每次我提交的内容。任何想法,我错过了什么或做错了什么?

git gitignore git-rm
4个回答
176
投票

如果文件仍显示在状态中,即使它位于.gitignore中,请确保它尚未被跟踪。

git rm --cached config.php

如果你只想在本地忽略它,你也可以通过git状态忽略它:

git update-index --assume-unchanged config.php

3
投票

如果文件已经在存储库中,因此已经在索引/暂存区域,那么对.gitignore的更新将不会改变这种情况 - 它将继续被提交。

要从索引/暂存区域中删除文件,请使用git rm <file>


3
投票

忽略已签入的文件:

git update-index --assume-unchanged file

还原

git update-index --no-assume-unchanged file

全部还原

git update-index --really-refresh 

-3
投票

一旦文件列在.gitignore中,您就无法更改它。

因此,您可以在一次提交中从列表中删除该文件,然后提交更改,然后在第三次提交中将文件重新添加到忽略列表中。

我通常做的是将文件拆分为两个,一个是允许的,我可以更改,包括第二个文件(如果存在),然后开发人员可以选择在被忽略的文件中进行配置更改。

© www.soinside.com 2019 - 2024. All rights reserved.