Git Patch

导出过程:

一、导出patch:

git format-patch  163caed7b034e0d48ba889851e9a42d33cd651d4 -1
git format-patch  163caed7b034e0d48ba889851e9a42d33cd651d4 -1

生成:
0001-HIVE-18778-Needs-to-capture-input-output-entities-in.patch
0002-HIVE-18778-Needs-to-capture-input-output-entities-in.patch

二、检查检查patch/diff是否能正常打入:

git apply --check 0001-HIVE-18778-Needs-to-capture-input-output-entities-in.patch
git apply --check 0002-HIVE-18778-Needs-to-capture-input-output-entities-in.patch

 

导入过程:

一般开源社区问题修复都会提供patch,以Hive为例,需要将下方的patch文件准备好,放入源码

三、应用patch:

git apply xxx.patch

git apply --reject xxx.patch


应用patch时出现冲突处理办法:


(1) 问题:应用patch有时会出现错误:
...
error:xxx does not apply
...
此时查看上述的错误信息得不到任何有关冲突的提示,可以使用下面的方法解决这个问题:

git apply --reject xxx.patch

这样可以先把没有冲突的文件进行合并,同时有冲突的文件会做出标记(会产生xxx.rej文件,xxx为文件名称),查看产生的rej文件即可得知产生冲突的代码片段,对产生冲突的文件进行修改,完成后可以删除rej文件,接着执行

git add 冲突文件
git add 其它无冲突文件

最后执行:

git am --resolved

 

(2) 问题:git apply -v 提示 Skipped patch 打不上patch的解决办法

参考:https://blog.csdn.net/dasunwarman/article/details/78488756

因为目录不正确,在patch加上目录前缀  --directory  xx

 

Git 如何打patch参考:
https://blog.csdn.net/liuhaomatou/article/details/54410361
https://juejin.im/post/5b5851976fb9a04f844ad0f4
https://blog.csdn.net/sole_cc/article/details/80641342

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值