# 生成patch 本地未提交修订生成patch ``` git diff > abc.patch ``` 从git log生成patch ``` git format-patch HEAD^ #生成最近的1次commit的patch git format-patch HEAD^^ #生成最近的2次commit的patch git format-patch HEAD^^^ #生成最近的3次commit的patch git format-patch HEAD^^^^ #生成最近的4次commit的patch git format-patch .. #生成两个commit间的修改的patch(生成的patch不包含c1. 都是具体的commit号) git format-patch -1 #生成单个commit的patch git format-patch #生成某commit以来的修改patch(不包含该commit) git format-patch --root #生成从根到c1提交的所有patch ``` # 校验patch ``` git apply --stat abc.patch # 查看patch的情况 git apply --check abc.patch # 检查patch是否能够打上,如果没有任何输出,则说明无冲突,可以打上。 ``` # 应用patch 应用patch后自动生成commit: ``` git am abc.patch ``` 仅应用patch: ``` git apply abc.patch git apply --reject abc.patch # 强制patch ```