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 文件中的冲突
相关推荐
苦逼IT运维1 小时前
Git LFS 学习笔记:原理、配置、实践与心路历程
笔记·git·学习
jstart千语2 小时前
【版本控制】idea中使用git
java·ide·git·intellij-idea·intellij idea
王鑫的博客8863 小时前
git常用修改命令
linux·git
苍煜6 小时前
IDEA在Git提交时添加.ignore忽略文件,解决为什么Git中有时候使用.gitignore也无法忽略一些文件
git·elasticsearch·intellij-idea
极小狐8 小时前
极狐GitLab 议题和史诗创建的速率限制如何设置?
linux·运维·数据库·git·安全·gitlab·极狐gitlab
学渣676568 小时前
git学习日志
git·学习
每天都会看看发量9 小时前
github新建一个远程仓库并添加了README.md,本地git仓库无法push
git·github
Ac157ol19 小时前
2025年最新版 Git和Github的绑定方法,以及通过Git提交文件至Github的具体流程(详细版)
git·elasticsearch·github
书山有鹿19 小时前
Git合并分支的两种常用方式`git merge`和`git cherry-pick`
git