1 使用 git format-patch 生成所需要的 patch:
当前分支所有超前 master 的提交:
git format-patch -M master
某次提交以后的所有 patch:
git format-patch 4e16 --4e16 指的是 commit 名
从根到指定提交的所有 patch:
git format-patch --root 4e16
某两次提交之间的所有 patch:
git format-patch 365a..4e16 --365a 和 4e16 分别对应两次提交的名称
某次提交(含)之前的几次提交:
git format-patch -n 07fe --n 指 patch 数,07fe 对应提交的名称
故,单次提交即为:
git format-patch -1 07fe
git format-patch 生成的补丁文件默认从 1 开始顺序编号,并使用对应提交信息中的第一行作为文件名.如果使用了 -- numbered-files 选项,则文件名只有编号,不包含提交信息;如果指定了 --stdout 选项,可指定输出位置,如当所有 patch 输出到一个文件;可指定 - o
指定 patch 的存放目录;2 应用 patch:
先检查 patch 文件:git apply --stat newpatch.patch
检查能否应用成功:git apply --check newpatch.patch
打补丁:git am --signoff < newpatch.patch
来源: http://www.bubuko.com/infodetail-2453806.html