补丁是某一次提交给文件内容的改变,打补丁是将某一次改变的内容应用到当前的版本库。
# 生成patch
git diff ./ > xxx.patch #将差异的内容制作成patch
mkdir update && git diff commit-id-time1 commit-id-time2 --name-only | xargs -i cp '{}' ./update/ --parents #制作patch 把两个commit-id 之间修改的文件复制到update目录中 而且会把中间的目录也一并生成
# 打patch
patch -p1 < xxx.patch
日常使用git fetch
+ git cherry-pick
效果是一样的,cherry-pick直接pick某一个patch.