【转】Git patch

1. 在git源码目录下执行

git format-patch <old_sha>...<new_sha> -o <patch_dir>

git format-patch d77aaac74845435744c49ae65511d9e1be79ed5c...046ee8f8423302f5070ca81b4e246516e919cd7a -o patch

2. 把生成的patch文件拷贝到目标git目录下

3. 测试patch

检查patch文件

git apply --stat 0001-minor-fix.patch

查看是否能应用成功

git apply --check 0001-minor-fix.patch

4. 应用patch

git am -s < 0001-minor-fix.patch

### 创建和应用Git补丁的基本方法 在Git中,创建和应用补丁是一项常见的操作,用于分享代码更改或将更改从一个分支移植到另一个分支。以下是关于如何创建和应用Git补丁的详细说明。 #### 创建补丁 创建Git补丁的过程相对简单,主要使用`git format-patch`命令。此命令会生成一系列补丁文件,每个文件对应一次提交[^1]。例如: ```bash git format-patch master --stdout > fixed_version.patch ``` 上述命令将当前分支相对于`master`分支的所有更改导出为一个名为`fixed_version.patch`的补丁文件。如果需要针对特定提交范围生成补丁,可以指定起始和结束提交的哈希值,例如: ```bash git format-patch <start-commit>..<end-commit> --stdout > specific_changes.patch ``` #### 检查补丁 在应用补丁之前,可以通过以下命令检查补丁是否能够无误地应用: ```bash git apply --stat fixed_version.patch git apply --check fixed_version.patch ``` `--stat`选项显示补丁将影响哪些文件及行数,而`--check`选项则验证补丁是否可以成功应用。如果没有错误输出,则表示补丁可以干净地应用[^3]。 #### 应用补丁 应用补丁时,可以选择使用`git apply`或`git am`命令。两者的区别在于`git am`不仅应用补丁,还会保留原始提交信息,并允许添加签名[^2]。例如: ```bash git am --signoff < fixed_version.patch ``` 该命令会自动应用补丁并提交更改,同时添加签名以记录应用者的信息。如果仅需应用更改而不涉及提交历史,可以使用以下命令: ```bash git apply fixed_version.patch ``` #### 提交更改 无论使用哪种方式应用补丁,都需要确保更改已正确提交。如果是通过`git am`应用补丁,则无需额外提交操作;如果是通过`git apply`应用补丁,则需要手动提交: ```bash git commit -m "Applied patch for fixed_version" ``` 或者直接使用`git commit`命令完成提交操作。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值