请看下图。我的.gitignore文件应该忽略src/dist中的所有文件,但不是。


当前回答

Gitignore只忽略未跟踪的文件。你的文件被标记为已修改——这意味着它们是过去提交的,git现在会跟踪它们。

要忽略它们,首先需要删除它们,git rm它们,提交它们,然后忽略它们。

其他回答

gitignore文件确保Git没有跟踪的文件保持不被跟踪。

只是将文件夹/文件添加到.gitignore文件中不会取消对它们的跟踪——Git将继续跟踪它们。

要取消跟踪文件,必须从存储库中删除.gitignore文件中列出的跟踪文件。然后重新添加它们并提交更改。

要做到这一点,最简单、最彻底的方法是删除并缓存存储库中的所有文件,然后将它们全部添加回来。gitignore文件中列出的所有文件夹/文件将不会被跟踪。在存储库的顶部文件夹中运行以下命令:

git rm -r --cached .
git add .

然后提交您的更改:

git commit -m "Untrack files in .gitignore"

请注意,以前提交的不需要的文件将保留在提交历史记录中。当推送到GitHub时,要注意提交历史可能包含.env或client_secret。json文件。

最佳实践是创建一个.gitignore文件,并填充您在启动项目时不希望跟踪的文件夹/文件。然而,在意识到不需要的文件正在被跟踪和存储之后,通常有必要添加到.gitignore文件中。

你可以用这个,

git rm -r --cached ./node_modules

例如,如果您想忽略node_modules

如果你使用VS Code:

检查.gitignore文件的编码类型。如果不是,请将其更改为UTF-8。 选择“使用编码重新打开”选项以更改文件编码。

这对我很管用!

Gitignore只忽略未跟踪的文件。你的文件被标记为已修改——这意味着它们是过去提交的,git现在会跟踪它们。

要忽略它们,首先需要删除它们,git rm它们,提交它们,然后忽略它们。

最好在开始时创建.gitignore文件,并提及我们想要忽略的文件。 如果你想忽略一些文件,那么执行git rm -r——cached