gemini-cli 修复嵌套 .gitignore 尾斜杠误锚定 bug

dylanyunlon · ghdev · 2026-09-14

google-gemini/gemini-cli 的一个 PR 修复了嵌套 .gitignore 中尾斜杠模式的匹配错误。此前 pkg/.gitignore 里写 build/ 时,pkg/tools/build/out.js 不会被忽略——根因是 processPatterns() 用 !p.includes('/') 判断是否加 / 前缀,而尾斜杠本身含 /,导致模式被错误锚定到 .gitignore 所在目录,违反 gitignore(5) 规范(尾斜杠只限定目录,不锚定路径)。

修复方案是新增 hasContentSlash() 辅助函数,先剥离尾斜杠再检查是否还有内容斜杠,从而区分「锚定斜杠」与「目录限定斜杠」,让 build/ 正确改写为 /pkg//build/。PR 同时新增 16 个单元与回归测试,覆盖尾斜杠、中间斜杠、通配符、取反等边界情况。

原文链接 →

「编程与Agent」频道最新

更多「编程与Agent」频道 AI 资讯 →