git diff commit_A commit_B

场景

将u1分支的17笔change合成一笔应用到分支u2上

实现方法

# 1. 将分支u1上第一笔和最后一笔之间的提交有差异的地方打成一个patch文件
git diff commit_A commit_B > my_patch # my_patch 代表patch名称
# 此命令之后会在当前仓生成 my_patch 文件

# 2. 应用这个patch到目标分支u2上
# 2.1 先检查下这个patch能否应用,如果这个命令执行后没有任何输出,则表示能顺利接受这个补丁
git apply --check my_patch

# 2.2 应用这个patch
git apply patch

# 2.3 如果 --check 命令之后显示有冲突,使用
git apply --reject patch
# 该命令将能打的补丁先打上,有冲突的会生成.rej文件,此时可以找到这些文件进行手动打补丁

如果我们要打第1笔和第17提交之间的差异,如:

commit 17
xxxx

commit 16
xxxx

...
...

commit 1
xxxx

commit 1^

实际上我们应该打的patch是commit 1^ 到 commit 17, 也即:

git diff commit1^ commit 17 > my_patch

也就是比第一笔再往前一笔

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值