.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 的内容会更加优先 (关键原因)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值