关于.gitignore中不忽略的一点用法

博客讲述了在配置Git的.gitignore文件时遇到的问题,即如何在忽略根目录所有内容的同时,只同步.gitignore文件及特定子目录的内容。作者发现当父目录已被忽略时,不能直接对子目录进行不忽略设置。解决方案是逐个列出要忽略的根目录下其他文件夹,而不忽略'project/src/com'。文章强调了正确理解和使用!符号在.gitignore中的重要性,并希望git客户端能对此进行优化。
摘要由CSDN通过智能技术生成

.gitignore中,!代表不忽略:

/*

!/project/*

代表忽略掉根目录下所有内容,但不忽略根目录下porject文件夹下的内容

 

昨天在配置ignore的时候,想做如下配置:

/*

!.gitignore

!/project/src/com/*

 即,我只想同步.gitignore文件和根目录下project/src/com文件夹内的所有内容(根目录、project下和src下都有其他文件和文件夹)时

git仅对gitignore采取了不忽略,而仍然对project/src/com内的所有文件进行了忽略。

 

在网上查原因的时候,发现很多人都说了这样一句话:就是如果父文件夹已经被忽略掉了,那无法再对该文件夹进行不忽略。以下说人话:

因为“/*”已经对/project/src/(即com文件夹的父文件夹)进行了忽略,所以对com文件夹的不忽略不生效

想要实现对com文件夹的不忽略,只能对根目录下的文件夹进行逐一忽略,比如:

/A

/B

/C

/project/AA

/project/BB

/project/src/*               #这里可以理解为别的文件夹都是直接忽略掉文件夹,而src这里是忽略掉src里面的全部内容,而没有忽略文件夹自身

!/porject/src/com         #因为没有忽略掉src文件夹自身,所以才能对com文件夹实施不忽略

这样写就可以实现。

虽然现在很多git客户端都实现了ignore文件的自动生成,但还是希望后续能优化一下。

本人菜鸟,不求甚解。所写如有错,望指正,感谢!

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值