git中则提供了两种patch方案:
用git diff生成的标准patch,可以提供上述的patch命令使用。
用git format-patch生成的git专用patch。
两种patch的比较:
兼容性:很明显,git diff生成的patch兼容性强。如果你在修改的代码的官方版本库不是git管理的版本库,那么你必须使用git diff生成的patch才能让你的代码被项目的维护人接受。
除错功能:对于git diff生成的patch,你可以用git apply –check查看补丁是否能够干净顺利地应用到当前分支中;如果git format-patch生成的补丁不能打到当前分支,git am会给出提示,并协助你完成打补丁工作,你也可以使用git am -3进行三方合并,详细的做法可以参考git手册或者《Progit》。从这一点上看,两者除错功能都很强。
提交信息:由于git format-patch生成的补丁中含有这个补丁开发者的名字,因此在应用补丁时,这个名字会被记录进版本库,显然,这样做是恰当的。因此,目前使用git的开源社区往往建议大家使用git format-patch生成补丁。