fd 如何用 --ignore-file 加载自定义的 .gitignore 格式忽略文件?

发布时间:2026/9/10 11:10:07
fd 如何用 --ignore-file 加载自定义的 .gitignore 格式忽略文件? fd 如何用 --ignore-file 加载自定义的 .gitignore 格式忽略文件【免费下载链接】fdA simple, fast and user-friendly alternative to find项目地址: https://gitcode.com/GitHub_Trending/fd/fd如果你在执行fd搜索时希望排除某些文件或目录但又不想把它们写进项目的.fdignore或.gitignore比如这些排除规则只服务于某次特定搜索、某台机器上的某个临时目录fd提供了--ignore-file选项把一个用.gitignore语法编写的自定义文件加入本次搜索的忽略规则中。这篇文章基于仓库中的 man 页、命令行定义 src/cli.rs、行走器实现 src/walk.rs 和测试用例 tests/tests.rs给出从创建忽略文件、执行搜索到核对结果的操作路径。先明确 fd 默认会读哪些忽略文件doc/fd.1 在 DESCRIPTION 一节说明fd默认排除隐藏文件和目录并排除匹配以下规则的文件gitignore 规则.gitignore、.git/info/exclude、全局 gitignore 配置.ignore与.fdignore文件中的规则fd 的全局忽略文件通常是$HOME/.config/fd/ignore。--ignore-file就是在这套默认规则之外额外追加一个自定义忽略文件的入口。man 页对该选项的原文描述是Add a custom ignore-file in .gitignore format. These files have a low precedence.即文件格式与.gitignore相同且这些文件在忽略规则中优先级较低。创建自定义忽略文件在搜索目录下创建任意名称的文件测试用例中用的是custom.ignore内容按.gitignore格式书写每行一个模式。以下两条模式直接取自 tests/tests.rs 中test_custom_ignore_files测试用例的内容cat custom.ignore EOF C.Foo2 three EOFC.Foo2排除名为C.Foo2的条目three排除名为three的目录其下的所有条目也一并被排除。执行搜索在包含待搜索内容的目录下运行fd --ignore-file custom.ignore foo其中foo是测试用例使用的搜索模式按文件名匹配。custom.ignore替换为你的忽略文件路径。--ignore-file可以重复指定src/cli.rs 中该选项的参数类型是VecPathBuf即命令行上可以多次出现把多个自定义忽略文件叠加到同一次搜索中。执行阶段的实现位于 src/walk.rsfd 遍历config.ignore_files中的每个文件并调用builder.add_ignore(ignore_file)加载。如果文件中存在无法解析的模式fd 会输出如下错误原文Malformed pattern in custom ignore file. {err}.看到这条信息时应检查忽略文件中对应行的写法。核对结果被忽略的条目不再出现tests/tests.rs 中的test_custom_ignore_files给出了一个完整的文档示例测试环境目录结构见该测试上方的DEFAULT_DIRS/DEFAULT_FILES输出仅作为示例具体结果取决于你目录下的实际文件在不使用--ignore-file时且测试环境不是 git 仓库模式foo的搜索结果包含one/two/C.Foo2、one/two/three/d.foo、one/two/three/directory_foo/等条目写入C.Foo2和three两条规则后执行fd --ignore-file custom.ignore foo期望输出为a.foo one/b.foo one/two/c.foo对照即可验证--ignore-file是否生效C.Foo2条目消失three/目录下的内容全部消失。你的实际目录中用“加入忽略文件前 / 加入后”两次运行的结果差集来判断即可。与其他排除机制的分工README.md 的 “Excluding specific files or directories” 一节把几种排除方式放在一起说明便于按用途选择-E/--exclude单次命令行的 glob 排除man 页注明它 “overrides any other ignore logic”适合临时加一两条规则.fdignorefd 专属的持久忽略文件行为类似.gitignore但只被 fd 读取且即使加了--no-ignore-vcs也会生效全局忽略文件~/.config/fd/ignoremacOS/Linux对所有目录生效README 建议在其中加入.git/这样使用--hidden时.git目录也不会出现在结果里--ignore-file加载一个显式指定的.gitignore格式文件规则优先级最低适合不想改动项目内或全局配置文件、只想为当前这次搜索附加一份排除规则的场景。另外man 页列出了--no-ignore-I与--no-ignore-vcs会跳过哪些来源.gitignore、.git/info/exclude、全局 gitignore、.ignore、.fdignore、fd 全局忽略文件当发现结果里不该被忽略的条目时可对照这两个选项确认当前哪些规则源被关闭了。小结用.gitignore格式写一个文件通过fd --ignore-file path加入本次搜索可重复指定多个文件验证方式是核对搜索结果被模式命中的条目含被忽略目录下的所有子条目不再出现在输出中自定义忽略文件优先级最低模式写错时会看到Malformed pattern in custom ignore file.报错。如果想了解 fd 其他搜索选项类型过滤、深度限制、执行命令等继续查阅 doc/fd.1 的 OPTIONS 一节即可。【免费下载链接】fdA simple, fast and user-friendly alternative to find项目地址: https://gitcode.com/GitHub_Trending/fd/fd创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询