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

如何查找修改指定文件夹且排除指定提交及祖先的Git提交?

解决方法

要排除多个提交的所有祖先,同时筛选修改指定文件夹的提交,你可以在Git命令中添加多个排除标记,具体有两种写法:

方式一:使用^前缀排除提交及其祖先

直接在--all后添加带^前缀的提交哈希/分支名/标签名,每个要排除的提交都加一个:

git log --all ^<rev1> ^<rev2> -- <folder>

方式二:使用--not参数(更易读)

如果需要排除的提交较多,用--not会更清晰,每个提交前加一个--not:

git log --all --not <rev1> --not <rev2> -- <folder>

命令说明

  • --all:遍历仓库中所有分支的提交,确保不会遗漏任何分支上的相关提交
  • ^<rev> 或 --not <rev>:排除指定提交<rev>及其所有祖先提交
  • -- <folder>:仅显示修改了<folder>路径下文件的提交,避免无关提交干扰

如果你还需要进一步筛选“与你无关”的提交(比如排除你自己的分支),可以额外添加排除你分支的标记,比如:

git log --all ^<rev1> ^<rev2> ^<my-branch> -- <folder>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 07:42:03