最近遇到一个这样的情况,云端需要架设SIP服务器,即需要在服务器端编译源码并生产可执行文件,而代码在局域网内维护,这样就一个代码同步的问题,如何把本地修改的内容同步到云端,通过Google发现git有一个patch的功能,就能实现代码同步,具体有2种方式,描述如下:

1. git diff

  • 生成patch文件
git diff HEAD^ > 0000.patch //最近一次(HEAD^)修改的patch
  • 拷贝patch到云端并git apply
git apply 0000.patch
  • 提交代码到本地[option]
git commit -a -m "Patch Apply"

2. git format-patch

  • 生成patch文件
git format-patch HEAD^ //会生成一个0001-update-exsamples.patch类似的文件
  • 拷贝patch到云端并git am
git am 0001-update-exsamples.patch