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 文件中的冲突
相关推荐
Sapphire~3 小时前
odoo-049 Pycharm 中 git stash 后有pyc 文件,如何删除pyc文件
ide·git·pycharm
Willis_m6 小时前
Linux 服务器用 SSH 拉取多个 Git 工程
linux·服务器·git·ssh
1candobetter6 小时前
git如何将本地 dev 分支与远程 dev 分支同步
git
此方konata6 小时前
git常用命令
git
yuanbenshidiaos15 小时前
讲讲git 和svn
git·svn
刃神太酷啦16 小时前
类和对象(1)--《Hello C++ Wrold!》(3)--(C/C++)
java·c语言·c++·git·算法·leetcode·github
s91236010118 小时前
Git 用法总结
git
江边垂钓者1 天前
Git简介和发展
git
大卫小东(Sheldon)1 天前
GIM: 调用AI自动生成git提交消息的工具
git·rust
程序设计实验室1 天前
如何清理误提交到git的历史大文件?
git