如何配置Git忽略子文件夹但保留目录下的一级.R文件?
解决Git忽略规则:仅保留指定目录下的.R文件
你的需求是忽略所有内容,只保留scenario1、scenario2目录下的.R文件,核心思路是先全局忽略,再逐一例外保留需要的内容,具体规则如下:
- 先全局忽略所有文件和目录
*
- 例外保留
scenario1和scenario2这两个目录(如果不保留目录,里面的文件也没法被匹配到)
!scenario1/ !scenario2/
- 忽略
scenario1和scenario2目录下的所有内容(包括子文件夹和文件)
scenario1/* scenario2/*
- 最后例外保留这两个目录下的所有
.R文件
!scenario1/*.R !scenario2/*.R
为什么你之前的scenario1/*/规则没用?
scenario1/*/仅匹配scenario1下的子文件夹(比如data/、outputs/),但无法处理目录下直接存放的.R文件,而且你没有先设置全局忽略的基础规则,导致整体逻辑不成立。
把上述规则按顺序写入.gitignore文件,就能实现你要的效果。
内容的提问来源于stack exchange,提问作者jmutua
相关产品推荐
相关产品推荐

