缘由

在做 APP 自动化测试时,我们基于源码做了一些修改,比如:

打 patch 包的方法

# 先在本地提交增加的代码,不执行push,是不会推到服务器的
git commit
# 查看提交记录
git log

commit 482d69fc6ad435cee2129895d88aa78f2e46333f
commit e3980407d2d6e143a04daed9ca3d9f94599fbd72

打 patch 包

git format-patch 本次提交前一次commit的序列号(这里即e3980407d2d6e143a04daed9ca3d9f94599fbd72) -o /e/patches

使用 patch 包

git apply --reject /e/patches/0001.patch

问题

三月份修改了源码,四月份又有新的修改,这样岂不是打出两个 patch 包来?未来可能更多

diff 方法

commit d16286f49d13a0a687cab4640fdf60d73e080889
commit 482d69fc6ad435cee2129895d88aa78f2e46333f
commit e3980407d2d6e143a04daed9ca3d9f94599fbd72

git diff e3980407d2d6e143a04daed9ca3d9f94599fbd72 d16286f49d13a0a687cab4640fdf60d73e080889 > autotestpatch

使用 diff 方法可以将多次修改打出一个 patch 包来

备注

以上命令在 git bash 中执行

交流

请教大家在实际中是怎么做的?


↙↙↙阅读原文可查看相关链接,并与作者交流