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