.gitignore,如何忽略子目录下的特定目录?

提问:.gitignore。如何修改 .gitignore 才能忽略掉项目中的某个特定子目录下的任何修改。

详细解释:
(展示 git status 结果)我想要让 git 忽略 npc/build 下的所有修改
以下是我在 ysyx-workbench 下的 .gitignore (展示 .gitignore)
请问我应该如何修改 .gitignore 才能达到我想要的效果?

我付出的努力:
(以下修改都是针对 ysyx-workbench/.gitignore)
1. 尝试在底部添加 /npc。 - 不行。同时忽略了 npc/build 和 npc/vsrc 下的所有修改
2. 尝试在底部添加 /npc/build。 - 不行。没有任何效果,不明白为什么
3. 尝试在底部添加 build/。 - 不行。没有任何效果。
4. 尝试在底部添加 /npc/build/ (相比2,在末尾多了一个'/')。- 不行。没有任何效果
5. 尝试在底部添加 **/build/** - 不行。没有任何效果
6. 尝试在底部添加 /npc/build/* - 不行。没有任何效果
7. 尝试在底部添加 /npc/build/** - 不行。没有任何效果
8. 阅读 Pro Git - .gitignore 章节中的 PATTERN FORMAT 和 EXAMPLES 部分。了解了以下知识
PATTERN FORMAT 的知识
8.1. '*' 会匹配除了 '/' 之外的任何数量的任何字符
8.2. '?' 会匹配除了 '/' 之外的“一个”任何字符
8.3. '**' 会匹配包括 '/' 的任何数量的任何字符
8.4. '!' 可以逆转模式,所有被 '!' 后面的的模式匹配的文件的修改都会被 git 考虑
这一段有一个我认为很重要的规则,原文: "It is not possible to re-include a file if
a parent directory of that file is excluded. " 意思是,一旦父目录被 git 忽略,那么
这个父目录下的文件和子目录都不可能被 git 考虑。
8.5. 如果模式的开头或者中间有 '/',那么这个模式只在 .gitignore 这一层生效,否则,会在任何子目录下生效
8.6. 如果在模式的末尾有'/',那么这个模式只对目录生效,不对文件生效,否则,既对目录生效也对文件生效
EXAMPLES 的知识8.7. 如果子目录下有 .gitignore,那么子目录下的 .gitignore 的内容会更加优先 (关键原因)

你可能感兴趣的:(git,github,java,开发语言)