【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
相关推荐
happyness4413 小时前
Git:AI编程时代的“安全带“与“时光机“
git·ai编程
To_OC13 小时前
踩坑无数!终于捋顺Git基础核心工作流(新手必看)
git·程序员
xuhaoyu_cpp_java18 小时前
Git学习(三)
经验分享·笔记·git·学习
C137的本贾尼19 小时前
Git基本操作(二):add与commit,把文件交给Git管理
git
咸鱼永不翻身20 小时前
Git Hooks—提交Commit前检查本地时间是否不对
git·git-hooks·git钩子
John_ToDebug20 小时前
如何针对指定目录生成 Git Patch 并精准应用到其他分支
chrome·git
Joy T20 小时前
【Web3】Hardhat工程架构中Solidity与TypeChain的协作机制
git·架构·typescript·web3·智能合约·hardhat·typechain
步十人20 小时前
【Git】基础概念与在vscode中的简单使用
git
代码中介商20 小时前
Git 版本控制完全指南:从分支管理到远程协作
linux·git
无风听海1 天前
git fsck 深度解析 Git 仓库的体检医生
git