Git-gitignore规则之“感叹号“的用法坑点

本文只讲一个知识点:

! 开头的模式标识否定,该文件将会再次被包含,如果排除了该文件的父级目录,则使用 ! 也不会再次被包含

以下面的例子进行说明:目标是要保留文件夹1中所有各层文件夹中的c文件,其他都不要。

文件夹1-----/test.c一个文件。

文件夹1-----/文件夹1.1-----/文件夹1.1.1-----/a.txt a.c a.h三个文件。

文件夹1-----/文件夹1.1-----/文件夹1.1.2-----mu.txt

以下用法是达不到效果的。

/*                        滤出所有文件

!**/*.c                把文件夹各层中的c文件捡回来。

由于“如果排除了该文件的父级目录,则使用 ! 也不会再次被包含”。在滤除所有文件时,已经把各级文件夹都滤除掉了。所以只能是滤除特定类型的,毕竟ignore就是要忽略的,反向行之不太好使。

**/*.h     

**/*.txt

举一反三:

想要保留某子子文件夹的内容

/*   滤出所有文件

!文件夹1-----/文件夹1.1-----/文件夹1.1.2    把文件夹1.1.2中的内容再拿回来

错错错,滤除所有文件的时候只剩下了文件夹1,并不保留文件夹1.1,所以也就没法找到如下文件:文件夹1-----/文件夹1.1-----/文件夹1.1.2。

Note:git status --ignored   这个命令也挺好用的,可以知道哪些是被忽略的。

Git中使用.gitignore忽略文件的推送_思影影思的博客-CSDN博客_git ignore

如何使用.gitignore忽略Git中的文件和目录_求知_攀登者的博客-CSDN博客_gitignore 忽略目录

git跟踪指定几个文件夹 - tekie的个人空间 - OSCHINA - 中文开源技术交流社区

git设置只允许特定类型的文件_枫竹梦的博客-CSDN博客_git支持的文件格式

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值