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 文件中的冲突
相关推荐
天若有情6734 小时前
【C++原创开源】formort.h:一行头文件,实现比JS模板字符串更爽的链式拼接+响应式变量
开发语言·javascript·c++·git·github·开源项目·模版字符串
海盗12345 小时前
在群晖NAS上使用Git Server
git
y小花5 小时前
git常用指令
git
华科大胡子5 小时前
开源项目 Git 贡献全流程拆解
git
极地星光5 小时前
工程中:Git 子模块(submodule) vs 直接依赖(源码/库/包管理器)
git
无限进步_6 小时前
【C++&string】大数相乘算法详解:从字符串加法到乘法实现
java·开发语言·c++·git·算法·github·visual studio
无限进步_7 小时前
【C++】验证回文字符串:高效算法详解与优化
java·开发语言·c++·git·算法·github·visual studio
无限进步_10 小时前
【C++】重载、重写和重定义的区别详解
c语言·开发语言·c++·ide·windows·git·github
历程里程碑11 小时前
1 . Git本地操作:版本控制 跨平台协作 仓库核心
java·开发语言·数据结构·c++·git·gitee·github
华科大胡子11 小时前
Git + 云原生
git