我在.gitignore中添加了以下一行:

sites/default/settings.php

但是当我输入git状态时,它显示文件为unstaging文件。

有什么问题吗?所有其他模式都很好。


当前回答

我也有同样的问题。在Win10上,我使用Geany编辑器,它使用UNIX行尾。现在我用notepad.exe创建了我的.gitignore,一切都很好。

其他回答

我也有同样的问题。在Win10上,我使用Geany编辑器,它使用UNIX行尾。现在我用notepad.exe创建了我的.gitignore,一切都很好。

确保你的.gitignore位于工作目录的根目录下,在该目录下运行git status并从状态输出中复制文件的路径,并将其粘贴到.gitignore文件中。

如果这不起作用,那么很可能您的文件已经被Git跟踪了。您可以通过git status的输出确认这一点。如果文件不在“Untracked files”一节中,那么Git已经在跟踪它了,它会忽略.gitignore文件中的规则。

在Git中忽略文件的原因是它们不会被添加到存储库中。如果您之前添加了一个想要忽略的文件,那么Git将跟踪它,并跳过与之匹配的忽略规则。Git这样做是因为该文件已经是存储库的一部分。

为了实际忽略该文件,必须取消跟踪并将其从存储库中删除。你可以使用git rm——cached sites/default/settings.php来实现。这将从存储库中删除文件,而无需物理删除文件(这就是——cached所做的)。提交更改后,该文件将从存储库中删除,忽略它将正常工作。

我在VS Code终端上尝试了上面的大多数命令,我得到了如下错误:

致命:pathspec '[dir]/[file]'没有匹配任何文件

我在GitHub Desktop上打开了这个项目,然后忽略了它,它工作了。

一个棘手的问题是,如果你执行类似echo node_modules >> .gitignore这样的操作,它将不起作用。windows终端在UCS-2 LE BOM中保存文件,git似乎不接受这一点。

您可以使用记事本打开文件,并使用UTF-8编码保存它

现在起作用了。

我认为他们需要修复这个,因为echo "filetoignore" >> .gitignore实际上似乎是一个方便的事情要做

我所做的是成功忽略settings.php文件:

Git rm—cached sites/default/settings.php 提交(到此为止没有工作) 手动删除sites/default/settings.php(这是有效的) Git添加。 提交(成功忽略)

我认为如果Git上有提交文件,那么忽略就不能正常工作。只需删除文件并提交。之后它会忽略。