“批量打 Patch 补丁”常见于 Linux/Unix 源码维护、Git 项目管理、嵌入式/内核开发 等场景。下面按使用场景系统讲一下常见做法。
patch 命令批量打补丁(最通用)patch -p1 < fix1.patch
for p in *.patch; do
patch -p1 < "$p"
done
或:
cat *.patch | patch -p1
⚠️ 前提:patch 之间是顺序依赖且互不冲突
git am(邮件格式 patch)git am *.patch
或按顺序:
for p in 00*.patch; do
git am "$p"
done
✅ 优点:保留 commit 信息
❌ 冲突会中断
git apply(不生成 commit)git apply *.patch
或:
for p in *.patch; do
git apply "$p"
done
✅ 适合 CI / 临时打补丁
git am --ignore-whitespace *.patch
或:
git apply --reject *.patch
会生成 .rej 文件,手动处理冲突
for p in patches/*.patch; do
patch -p1 < "$p"
done
quilt push -a
命令同 Linux
✅ 打补丁前:
git status
git stash
✅ 打完验证:
git diff
make / build
✅ 失败处理:
git am --abortpatch -R 回退我可以给你精确命令模板。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。