使用 .gitignore 完全忽略单个文件夹

问题描述 投票:0回答:1

我有几个关于 .gitignore 的问题。

在我的存储库中,我有一个文件夹

[repo root]\Sub1\Printouts
,其中包含一些 pdf 文件。 我希望 GIT 完全忽略
[repo root]\Sub1\Printouts
中发生的所有事情(新文件、文件删除、文件修改),所以我将其添加到 .gitignore:

Sub1\Printouts\

但是,如果我删除

Sub1\Printouts
中的文件并运行
git status
,我会:

modified:   .gitignore
deleted:    Sub1/Printouts/aaa.pdf

如果我添加一个新文件,也会发生同样的情况,但如果我编辑一个文件,则不会

我还有另一个问题:在各个网站上阅读后,我了解到像

Sub1\Printouts\
这样的条目应该与存储库中各处名为
Printouts
的文件夹内名为
Sub1
的文件夹匹配。这意味着应忽略以下所有文件夹:

 1) [repo root]\Sub1\Printouts
 2) [repo root]\Some folder\Sub1\Printouts
 3) [repo root]\Some folder\Yet another folder\Sub1\Printouts

如果我只想忽略 1) 怎么办?如何在 .gitignore 中指定完整路径?

谢谢你

git gitignore
1个回答
0
投票

取消跟踪您想要的整个目录

.gitignore

git rm --cached -r Sub1/Printouts/

此后,

Sub1/Printouts
中的所有文件和子文件夹都不会被
git
跟踪。

现在您可以将此路径添加到您的

.gitignore
文件中,保存它,然后
git
将不再跟踪任何进一步的修改(添加文件、删除文件……):

Sub1/Printouts/
© www.soinside.com 2019 - 2024. All rights reserved.