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

在Git Diff中如何排除根目录下路径不含/的文件?

过滤Git分支对比中的根层级文件

要排除分支对比结果里的根目录文件(路径不含/的文件),直接用Git的路径匹配规则就能实现:

  • 核心命令格式:
    git diff <分支1> <分支2> -- ':!:[^/]*'
    

规则解释

  • :! 是Git路径spec的排除标记,后面跟要排除的路径模式
  • [^/]* 是正则匹配逻辑:[^/] 匹配不是斜杠的任意字符,* 匹配任意数量的该字符,合起来就精准匹配根目录下所有不带子路径的文件(也就是路径里没有/的文件)

实际示例

比如对比main和feature分支的变更,同时排除根文件:

git diff main feature -- ':!:[^/]*'

如果还要额外排除某个目录(比如docs),直接叠加排除规则即可:

git diff main feature -- ':!docs/' ':!:[^/]*'

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 22:09:53