补丁与邮件 Pro Git · 5.2 向项目贡献

Linux 内核等大型开源项目的协作方式:把提交导出为补丁文件,经邮件传递、审阅、应用。

命令说明
git format-patch -1 <提交>把提交导出为 .patch 邮件补丁(-o 目录 指定输出位置)
git format-patch origin/main导出 main 之后的所有本地提交为一组补丁
git apply --check <补丁>预演补丁能否干净打入(不实际修改)
git apply <补丁>应用补丁,只改文件不产生提交
git am <mbox文件>应用 format-patch 生成的补丁,保留原作者与说明
git am --abort应用失败时放弃整批补丁,回到原状
git send-email <补丁>经 SMTP 直接把补丁发到邮件列表(先配置 sendemail.*)
git request-pull origin/main <仓库url>生成拉取请求摘要,告知维护者拉取哪些提交
提示:普通团队用 Pull Request 即可;邮件补丁流常见于无平台依托的开源社区。