git format-patch适用于git的patch,包含diff信息,包含提交人,提交时间等 如果生成的补丁不能打到当前分支,git am会给出提示,并协助你完成打补丁工作
对比分支生成patch
例:从master checkout 一个新分支修改然后与master对比生成patch。
1 | $ git format-patch -M master # -M选项表示这个patch要和那个分支比对 |
将commit打包成patch
1 | $ git format-patch 1bbe3c8c19 # 从1bbe3c8c19往后的全部commit,不包括1bbe3c8c19 |
patch合并到一个文件
默认情况下,每一个commit都会产生一个patch文件,下面的操作可以把全部commit合并到一个文件中
1 | $ git format-path 1bbe3c8c19 --stdout > xxx.patch |
应用patch
1 | # 检查patch文件 |