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

如何为指定目录生成Git补丁文件

解决方法

方法1:针对单个目标提交生成过滤补丁

如果你明确只需要处理提交00001,且只保留其中foo和hoo目录的修改,直接执行:

git format-patch -1 00001 -- foo hoo
  • -1表示仅生成指定提交的单个补丁文件
  • --后面的foo hoo是路径过滤规则,只会把这两个目录的修改内容纳入补丁,自动排除goo目录的变更
  • 执行后只会生成0001-test-commit.patch(仅包含foo/test.c和hoo/test.c的修改),不会生成0002-test-commit2.patch(该提交未涉及foo/hoo的修改)

方法2:自动筛选所有涉及目标目录的提交并生成补丁

如果有多个提交,想自动找出所有修改过foo或hoo的提交再生成对应补丁,用组合命令:

git format-patch $(git rev-list HEAD -- foo hoo)
  • git rev-list HEAD -- foo hoo:遍历所有提交,仅输出修改过foo或hoo目录的提交哈希
  • git format-patch基于这些哈希生成补丁,同样自动过滤掉补丁里非foo/hoo的内容

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 04:30:00