21. git apply

基本概述

git apply 的作用是:应用补丁文件

基本用法

1.命令格式

bash 复制代码
git apply [选项] <补丁文件>

2.应用补丁

bash 复制代码
git apply patchfile.patch
  • 将补丁应用到工作目录,但不会自动添加到暂存区(需手动 git add)

常用选项

1.检查补丁是否可用

bash 复制代码
git apply --check patchfile.patch
  • 仅检查补丁是否能成功应用,不实际修改文件
  • 如果无输出,表示补丁可以应用;否则会报错

2.将补丁应用到暂存区(stage)

bash 复制代码
git apply --cached patchfile.patch
  • 将变更应用到暂存区,但不会修改工作区的文件

3.同时应用到工作目录和暂存区

bash 复制代码
git apply --index patchfile.patch
  • 如果补丁包含暂存区信息(如 git diff --cached 生成的补丁),此命令会同时更新工作目录和暂存区

4.忽略路径问题

bash 复制代码
git apply -p<n> patchfile.patch
  • 剥离补丁中的前 n 级目录
  • 例如:补丁中的路径是 a/b/c/file.txt,当前目录是 b/c/file.txt,使用 -p1 剥离第一级目录 a/

5.强制应用补丁(允许冲突)

bash 复制代码
git apply --reject patchfile.patch
  • 如果补丁部分冲突,会生成 .rej 文件记录冲突部分,其余部分正常应用
  • 需要手动解决 .rej 文件中的冲突
相关推荐
vibecoding日记1 小时前
为什么我就想要「线性历史 + Signed Commits」,GitHub 却把我当猴耍 🤬🎙️
git·编程工具
程序员小崔日记12 小时前
如何将代码轻松上传到 Gitee?Git 使用全攻略!
git·gitee·上传
Bigger1 天前
为什么你的 Git 提交需要签名?—— Git Commit Signing 完全指南
git·开源·github
DianSan_ERP2 天前
电商API接口全链路监控:构建坚不可摧的线上运维防线
大数据·运维·网络·人工智能·git·servlet
红豆子不相思2 天前
Tomcat 环境搭建与集群实战
服务器·git·tomcat
杰哥技术分享2 天前
Git 仓库迁移技术文档:从 CODING.net 迁移至腾讯云 CNB
git
梅孔立2 天前
Ansible 100 台服务器一键管控实战 进阶版
服务器·git·ansible
qq_426003963 天前
git切换当前分支到远程分支
git
ON10N3 天前
100% 纯 Vibe Coding,我是怎么用 AI 撸出一个 VS Code 插件的
git·ai编程·visual studio code