【Git】生成patch和应用patch

生成patch

将本地所有修改打成补丁

bash 复制代码
git diff > /tmp/xxx.patch

将本地对某个文件的修改打成补丁

bash 复制代码
git diff test/1.txt > /tmp/1.patch

将某一次提交的修改内容打成补丁

-1表示只为单个提交创建patch,-o表示输出patch的文件夹路径,默认是用提交的message命名。

bash 复制代码
git format-patch -1 {commidid} -o /tmp

将两次提交的差异打个patch

git diff {commitid1} {commitid2} 展示的commitid2相比于commitid1发生的变化。

下方命令会将 77cef1b5 这次提交与 8f7b465b 这次提交相比发生的变化打入到1.patch文件中。

bash 复制代码
git diff 8f7b465b 77cef1b5 > /tmp/1.patch

下方命令会将 8f7b465b 这次提交与 77cef1b5 这次提交相比发生的变化打入到2.patch文件中。

bash 复制代码
git diff 77cef1b5 8f7b465b > /tmp/2.patch

校验patch

查看补丁状态,显示修改了几个文件,增加多少行,减少多少行。

bash 复制代码
git apply --stat /tmp/xxx.patch

检查补丁是否能应用到当前代码中,如果可以,下方命令返回为空。

bash 复制代码
git apply --check /tmp/xxx.patch

当校验不通过时,会提示哪个文件有冲突。

应用patch

git apply应用patch文件后,检查修改内容后,重新add,commit即可。

将补丁文件中的内容打入到当前代码中

bash 复制代码
git apply /tmp/xxx.patch
相关推荐
贺小涛10 分钟前
Git代码提交规范和踩坑排水明沟
大数据·git·elasticsearch
IT二叔16 分钟前
Git Flow02-开发步骤
git
I'm Jie25 分钟前
MacOS 国内镜像一键安装 Homebrew
git·macos·homebrew
IT二叔33 分钟前
Git Flow04-bug修改流程
git·bug
※※冰馨※※35 分钟前
【C++】通过 Git 访问阿里云 Codeup 仓库
git·阿里云·云计算
badhope8 小时前
Mobile-Skills:移动端技能可视化的创新实践
开发语言·人工智能·git·智能手机·github
zhangfeng113310 小时前
Windows 的 Git Bash 中使用 md5sum 命令非常简单 md5做文件完整性检测 WinRAR 可以计算文件的 MD5 值
人工智能·windows·git·bash
csdn_aspnet18 小时前
Git灾难级误操作抢救手册:从reset到reflog的终极救援
git·恢复·误删
2401_8916558119 小时前
Git + 云原生:如何管理K8s配置版本?
git·云原生·kubernetes
m0_5281744520 小时前
Git对象存储原理(blob/tree/commit) 引用日志(reflog)
大数据·git·elasticsearch·全文检索