我有一个已经初始化的Git存储库,我添加了一个.gitignore文件。我如何刷新文件索引,以便忽略我想要忽略的文件?


当前回答

在我的服务器linux服务器上(在我的本地dev mac上不是真的),只要我不添加星号,目录就会被忽略:

www/档案/*

我不知道为什么,但这让我放松了几个小时,所以我想分享。。。

其他回答

我发现了一个奇怪的问题。gitignore。一切都很到位,看起来很正确。我的.gitignore被“忽略”的唯一原因是,行结尾是Mac格式(\r)。因此,在保存了具有正确行结尾的文件(在vi中使用:set ff=unix)之后,一切都变得非常迷人!

要取消跟踪已添加/初始化到存储库的文件,即停止跟踪该文件,但不从系统中删除它,请使用:gitrm--缓存文件名

如果文件已经在版本控制中,则需要手动删除它们。

要从跟踪中删除几个特定文件,请执行以下操作:

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

如果您想再次开始跟踪它:

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

如果.gitignore似乎没有忽略未跟踪的文件,还需要记住的一点是,您不应该在忽略的行上有注释。所以这没关系

# ignore all foo.txt, foo.markdown, foo.dat, etc.
foo*

但这行不通:

foo*   # ignore all foo.txt, foo.markdown, foo.dat, etc.

.gitignore将后一种情况解释为“忽略名为“foo*#忽略所有foo.txt、foo.markdown、foo.dat等”的文件,当然,您没有。