如何配置.gitignore仅忽略根目录同名文件而非子目录?
如何仅忽略根目录的
my-service文件,保留子目录的同名文件夹? 这是Git忽略规则里很常见的小坑——不带路径限制的模式会匹配所有层级的同名项。要精准只忽略根目录的my-service文件,你只需要在.gitignore里做一个简单的调整:
在你的.gitignore文件中,把原来的my-service替换成:
/my-service
为什么这样有效?
Git的.gitignore规则里,以斜杠/开头的模式表示仅匹配根目录下的目标。也就是说:
/my-service只会匹配和.gitignore处于同一目录(仓库根目录)的my-service文件,完全不会影响子目录(比如charts/my-service)里的同名文件夹。- 如果你之前已经不小心让Git忽略了
charts/my-service,可以先执行git add -f charts/my-service强制把这个文件夹加入Git追踪,之后更新.gitignore为上面的规则,后续的修改就会正常被Git识别了。
这样就能完美实现你要的效果:根目录的my-service文件被忽略,而charts/my-service文件夹及其内容依然会被Git管理。
内容的提问来源于stack exchange,提问作者Naguib Ihab
相关产品推荐
相关产品推荐

