最近是遇到一个问题,自己本地修改了code,但是没有VPN上传不了,同事也就不能review,所有使用了git生成patch然后发给同事review。
生成patch
1、修改code后,切换branch
git branch test1
2、添加commit
git commit -a -m "messenger"
3、使用git diff生成的标准patch
git diff master > patch
使用patch
git apply patch
由于这是一个类似UNIX下更新文件的操作,所以执行完上述操作之后,实际上是等于手动修改了文件,还要做一些git commit之类的操作。
另外请注意,git apply 是一个事务性操作的命令,也就是说,要么所有补丁都打上去,要么全部放弃。ProGit上说明在实际打补丁之前,可以先用git apply --check 查看补丁是否能够干净顺利地应用到当前分支中:git apply --check patch,如果执行完该命令之后没有任何输出,表示我们可以顺利采纳该补丁,接下来就是git上的提交了。