Git-为什么.txt文件没有被忽略

10

我需要忽略git中的.txt文件。为此,我在.gitignore文件中包含了*.txt。但是当我编辑我的其中一个.txt文件时,git仍在追踪它。问题出在哪里或者我做错了什么。请帮帮我。


这个文件在添加到 .gitignore 前已经被 Git 跟踪了吗?Git 将继续跟踪任何已经明确被跟踪的内容。 - David
请问您可以发布一下您的.gitignore文件吗? - Robert
5个回答

29

如果你曾经提交过这个文本文件,git就已经在追踪它了。你需要将其从git中删除,使得git停止追踪,接着它就会正确地被忽略。

git rm --cached name.txt

是的,乍一看这似乎不是解决方案,但实际上它确实是。Git 不会忽略任何已经被追踪的文件。如果文件已经被添加到仓库中,这个方法有用吗? - Jordan
是的,如果文件已经添加到仓库中,它会有所帮助,但您需要执行 git add . 并提交以使其作为已删除的文件被提交。 - Ryan Poolos

5
您可能已经提交了该文件,因此该文件被跟踪。您需要执行以下操作:
git rm --cached filename

1

Gitignore不能阻止你跟踪已经被跟踪的文件。你需要将它们从你的仓库中删除。

find . -name '*.txt' ¦ xargs git rm

应该可以解决问题。

1

我认为您在将.txt文件添加到.gitignore文件之前已经将其添加到了暂存区。要取消跟踪它,您需要从暂存区中删除该.txt文件。要将其从暂存区中删除但不从工作目录中删除,请粘贴以下行:

git rm --cached my_file.txt

如果不起作用,请粘贴:

If it does no work then paste:

git rm --cached my_file.txt -f

1

另一个可能出现的错误是在*.txt行之后有空格。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接