You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用rbtools发起代码评审时如何排除指定目录?

rbt post -X/--exclude 参数排除目录的用法示例

参数核心规则

-X(长选项写法--exclude)用于在执行rbt post生成diff时,剔除匹配指定模式的文件,支持多次传入该参数配置多条过滤规则,模式匹配采用UNIX glob语法,兼容Bazaar、CVS、Git、Mercurial、Perforce、SOS、Subversion版本控制系统。
路径匹配逻辑:

  • 规则以路径分隔符开头(macOS/Linux为/,Windows为\)时,匹配路径相对于仓库根目录计算
  • 其余不以路径分隔符开头的规则,匹配路径相对于执行命令时的当前工作目录计算

官方参考示例:排除仓库内所有.txt文件的写法为 rbt post -X /'*.txt'

排除目录及目录下所有内容的实操示例

glob语法中**代表递归匹配任意层级的子目录和文件,要完整排除某个目录的全部内容,必须搭配这个通配符使用,以下是不同场景可直接复用的写法:

1. 排除仓库根目录下的指定目录

比如要排除仓库根目录下的dist目录及其所有嵌套内容:

# macOS / Linux 环境
rbt post -X /dist/**
# Windows 环境
rbt post -X \dist\**

如果遇到shell提前展开通配符导致规则失效的情况,可以给匹配规则加单引号包裹,写成rbt post -X '/dist/**'即可。

2. 排除当前工作目录下的子目录

如果你执行rbt post时所在的路径是仓库内的src/utils/,要排除当前路径下的__pycache__子目录及全部内容,不需要加开头的路径分隔符,直接写相对路径规则:

# macOS / Linux 环境
rbt post -X __pycache__/**
# Windows 环境
rbt post -X __pycache__\**

这个写法只会匹配当前工作目录下的目标目录,不会误排除仓库其他位置同名的目录。

3. 同时排除多个目录

重复传入-X参数即可,比如同时排除根目录的build、node_modules目录,以及当前目录下的temp目录:

# macOS / Linux 环境
rbt post -X /build/** -X /node_modules/** -X temp/**

避坑提示

  • 不要漏写**递归通配符:如果只写-X /dist/,仅会匹配路径上名字为dist的单个文件,不会匹配dist目录下的子文件和嵌套子目录
  • Windows环境不要混用正斜杠作为路径分隔符,否则会导致规则匹配失败
  • 规则里包含特殊字符时,建议用单引号把匹配模式包裹起来,避免shell提前解析通配符导致参数失效

内容的提问来源于stack exchange,提问作者mesh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 19:30:09