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

如何使用git format-patch从GitHub下载指定范围的多个提交?

使用git format-patch导出指定提交范围内的所有补丁

要导出两个提交之间的所有提交补丁,按以下步骤操作:

  • 第一步:获取目标提交的SHA值
    你需要先拿到两个目标提交的完整SHA哈希值。如果只知道提交标题,可以用git日志命令查找:

    git log --grep="pbutils: descriptions: add meta/x-klv" --oneline
    git log --grep="ci: Bump meson to 0.62.2 in Fedora docker images" --oneline
    

    或者在仓库的提交页面点击对应提交,就能看到完整的SHA值。

  • 第二步:确定提交范围
    Git支持用..表示提交范围,规则如下:

    • <起始SHA>..<结束SHA>:导出**起始SHA之后、结束SHA之前(包含结束SHA)**的所有提交补丁
    • 如果需要包含起始SHA本身,用<起始SHA>^..<结束SHA>
  • 第三步:执行format-patch命令
    直接运行命令生成每个提交对应的.patch文件:

    # 替换成你实际的起始和结束SHA
    git format-patch <起始SHA>..<结束SHA>
    

    常用可选参数:

    • -o <目录名>:指定补丁文件输出到指定目录,避免混乱
    • --numbered:生成带数字编号的补丁文件(比如0001-xxx.patch)
    • --cover-letter:生成一封封面信补丁,方便说明补丁集内容

举个实际例子,假设你找到的起始SHA是a1b2c3d,结束SHA是d4e5f6g,要导出到patches目录,命令就是:

git format-patch -o patches a1b2c3d..d4e5f6g

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 16:40:55