【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
相关推荐
Young_Gnay11 小时前
在学校和工作中遇到的一些git用法
git
一路向北_Coding11 小时前
Git系列之关联远程仓库
git·github
最好结果12 小时前
GitHub fork仓库同步原仓库tags(标签)的详细教程
git·github
周杰伦_Jay13 小时前
【Git操作详解】Git进行版本控制与管理,包括分支,提交,合并,标签、远程仓库查看
大数据·ide·git·科技·分类·github
XXX-X-XXJ14 小时前
二:RAG 的 “语义密码”:向量、嵌入模型与 Milvus 向量数据库实操
人工智能·git·后端·python·django·milvus
少女续续念15 小时前
从工具到生态:揭秘 Gitee 成为 60% 头部银行首选的底层逻辑
git
银安18 小时前
Git篇(6):分支操作的本质
git
银安18 小时前
Git篇(7):Git 检测差异的原理——为什么合并会出现冲突
git
马优晨20 小时前
Git 中的某个分支打标签
git·git 中的某个分支打标签·git分支打标签·git 分支打tag·git 分支打标签tag
Blue桃之夭夭20 小时前
git和VScode
ide·git·vscode