Gitignore配置求助:保留Grav CMS的plugins下.gitkeep及google-photos全内容
Grav CMS .gitignore 配置问题解决
问题背景
我正在使用Grav CMS,简化后的文件夹结构如下:
/user/ /pages/ /plugins/ /admin/ /devtools/ /google-photos/ .gitkeep
当前.gitignore内容:
/user/plugins !.gitkeep !/user/plugins/google-photos/
目前该配置会忽略/user/plugins下所有文件和子文件夹,仅保留.gitkeep文件。但我想把google-photos插件及其全部内容纳入Git管理,添加!/user/plugins/google-photos/后并未生效,该如何调整配置?
我已查阅Stack Overflow相关问题,但未找到可行方案。
解决方案
问题根源在于第一行的/user/plugins直接忽略了整个plugins目录,Git会跳过对该目录的遍历,后续的例外规则自然无法生效。
正确的.gitignore配置如下:
/user/plugins/* !.gitkeep !/user/plugins/google-photos/ !/user/plugins/google-photos/**
配置说明
/user/plugins/*:忽略plugins目录下的所有直接子项(文件和文件夹),但不忽略plugins目录本身,确保Git会遍历该目录,让后续例外规则生效。!.gitkeep:保留plugins目录下的.gitkeep文件。!/user/plugins/google-photos/:取消对google-photos文件夹的忽略。!/user/plugins/google-photos/**:递归取消google-photos文件夹下所有内容(包括子文件夹和文件)的忽略。
额外步骤
如果之前google-photos下的文件已经被Git标记为忽略,需要执行以下命令强制追踪这些文件:
git add -f /user/plugins/google-photos/
内容的提问来源于stack exchange,提问作者chraebsli
相关产品推荐
相关产品推荐

