引言:场景是这样的,之前我拥有权限的一个git仓库,后来由于某些原因不再具有管理该git仓库的权限。但是由于在失去权限后,我在本地对该项目进行了一些代码的优化,并且需要更新到远程仓库的master上。思前想后,最后用了git提供的format-patch命令。
实际上git提供了两种简单的patch方案,一是用git diff生成的标准patch,第二种是git format-patch生成的git专用patch。本文使用的是第二种。

切换到需要生成patch的分支

1
git checkout xxxbranch

将本地更改的代码add 并 commit

1
2
git add .
git commit -a -m "fix"

选择需要和xxxbranch分支比对的分支

这里我用的是master

1
git format-patch -M master

然后你就能看到生成的patch文件了。

参考文章

更多的用法可以参考以下两篇文章,相信是一次不错的学习过程。