简介
git有创建补丁的功能,即将改动的代码统一添加到一个补丁文件中,扩展名一般为.patch,然后通过邮件或U盘的形式将补丁发送到需要的版本中,然后再执行打补丁命令,这样改动会自动合并到该版本库中。
创建补丁
将某一次的commit提交之后的所有提交创建补丁,不包括该本身。
git format-patch --stdout <commit id> > my.patch
举个例子,比如有“aaa”、“1”两个提交,在Git Gui中可以查看到aaa的commit id是f90fcd586ac4427e9b00ccac5c4699f1e5069962
这样我们就创建好了一个补丁文件:my.patch
这个补丁文件记录的就是aaa提交之后的所有提交,比如说这里“my.patch”就是记录了“1”这个提交,因为aaa之后只有这一个提交。
打补丁
先将仓库先检出到那个补丁的起始commit,这样不容易出错,万一出错的话可以参考git am --help
git am --keep-cr my.patch
我们接上文中的例子,将补丁的起始commit给检出,然后在这个commit上应用补丁。
我们可以看到,在aaa上我们已经成功应用了补丁,root分支又向前推进了一步。
文章来自于:https://zhuanlan.zhihu.com/p/50742897#:~:text=git%E6%9C%89%E5%88%9B%E5%BB%BA%E8%A1%A5%E4%B8%81,%E5%B9%B6%E5%88%B0%E8%AF%A5%E7%89%88%E6%9C%AC%E5%BA%93%E4%B8%AD%E3%80%82