.gitignore规则异常:显式包含的.github文件夹仍被忽略
问题解决:.github目录下文件无法通过.gitignore正常包含的问题
你的问题根源在于.gitignore的排除规则写法阻断了目录扫描,再加上可能存在的旧缓存影响,导致否定规则无法生效。
修正.gitignore规则
你原有的*.*和*/**组合会过度排除内容,甚至让Git无法扫描被排除目录下的子内容——哪怕你加了!.github/**也没用。调整后的规则先全局排除所有文件,但保留目录结构,再针对性包含需要的内容:
# 全局排除所有文件 * # 保留所有目录(否则子目录内的文件无法被后续规则包含) !*/ # 包含指定目录与根文件 !.github/** !src/** !.gitignore !.dockerignore !README.md
清理Git缓存并重新应用规则
如果之前.github目录已经被Git标记为忽略,修改.gitignore后需要先清除旧缓存,让新规则生效:
# 清除仓库缓存(仅移除Git对文件的跟踪标记,不会删除本地文件) git rm -r --cached . # 重新添加所有文件(此时会遵循新的.gitignore规则) git add .
完成以上操作后,.github/workflows/main.yml就能被正确包含,无需再用-f强制添加。
内容的提问来源于stack exchange,提问作者Ada
相关产品推荐
相关产品推荐

