git cherry-pick 报错 fatal: bad object [commitID]

背景

        项目不同模块的功能建立了不同的分支进行开发,后期要将这部分代码从附属分支往主分支上合并,合并过程中出现这个问题,特此纪要!

问题

        git cherry-pick [commitID]时报错?

错误图录:

说明

        cherry-pick做的动作是代码合并的操作,出现上面的异常是因为获取对应的合并节点(COMMITID)时获取不到因此提示。但是另一个用户做了commit和push两个动作,所做的处理已经在远程仓库中了。

工作原理:

        目标是代码合并,你要合并的是别人的代码,此时别人的代码处在远程分支,本地使用cherry-pick合并时在本地仓库中并不存在远端别人提交的代码。因此你需要将别人提交的代码分支拉取到本地,然后进行合并操作。

纪要

解决方案:

step1:

        git checkout feature_target;

        首先切换到要合并的分支;

step2:

        git pull origin feature_target;

        拉取对应分支上最新的变更;

step3:

        git log;

        拿到要合并的commit节点;

step4:

        git checkout feature_me;

        再回切到自己的分支;
 

step5:

        git cherry-pick [commit_id];

        cherry-pick合并代码;

step6:

        git push origin feature_me;

        ***这里假定都是正常情况,没有出现冲突,直接将合并完成的结果推送远端,结束。***

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值