git commit 生成专用PATCH及合入PATCH的方法

35 篇文章 0 订阅
19 篇文章 1 订阅

一、根据git 提交记录生成PATCH
1、git format-patch -1 commit_id 生成git专用PATCH
如:git format-patch -1 e3faf9e06b6d1ca46d79e972ebf54daf00f68d87
生成:0001-test.patch 的补丁

2、检查该PATCH信息
如:git apply --stat 0001-test.patch

3、检查该PATCH是否能在指定源代码中合入
如:git apply --check 0001-test.patch
error: zyf/FileTrans/test.txt:已经存在于工作区中

如果没有任何输出,则表示可合入。如有错误会在终端输出。

二、合入PATCH到指定代码库中
1、git pull更新代码

2、git apply  0001-test.patch 合入到本地

3、git status 查看PATCH的修改

4、git commit -m "提交说明"

5、git push origin master 将代码推送到服务器的主分支上

三、使用diff生成通用PATCH
1、使用diff commit1 commit2 > diff.patch可以生成通用PATCH,表示从commit1到commit2(含commit2)的修改生成PATCH文件
2、使用patch -p(n) < diff.patch 合入PATCH,其中 n 代表路径的层级

四、注意事项
推荐使用git format-patch生成git 专用PATCH,因为我们在实际使用中发现,如果使用diff生成通用PATCH,对于删除文件的操作会出现失败的情况。如果没有删除操作的情况下diff的效率及通用性会比较好。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值