仅在 .gitignore 中忽略特定文件夹,但允许检入具有相同名称的其他文件夹

ignore a particular folder only in .gitignore but allow other folders with same name to be checked in

我想忽略项目顶层的 dist 文件夹,但我的项目中有另一个 dist 文件夹用于我的样式,我想保留它。所以在 .gitignore 中保留 dist 会导致它们都被忽略。正确的处理方法是什么。

在您的 .gitignore 文件的开头放置一个斜杠,以便仅忽略该文件夹中的文件

/dist

如果您的忽略文件中包含 dist,则与忽略文件位于同一目录中的所有名为 dist 的文件和文件夹以及递归的所有子目录中的所有文件和文件夹都会被忽略。

如果您的忽略文件中包含 dist/,则与忽略文件位于同一目录和所有子目录中的所有文件夹(但不包括名为 dist 的文件)将被忽略。

如果您的忽略文件中有 /dist,所有与忽略文件位于同一目录但不在任何子目录中的名为 dist 的文件和文件夹都将被忽略。

如果您的忽略文件中有 /dist/,则忽略与忽略文件位于同一目录但不在任何子目录中的名为 dist 的文件夹而不是文件。

所以将根文件夹 .gitignore 中的 dist 更改为 /dist/ 就可以了。

或者,如果您也可以在 dist 文件夹中强制添加文件,因为一旦文件被跟踪,.gitignore 就不再有效,因为它仅适用于未跟踪的文件。

在你的项目中

$ git rm --cached /c/projects/yourApp/dist -r