git-合并分支指定commits

主要命令
git cherry-pick commitid
git rebase --onto branch  commitid^
相关命令
git merge branch
git log --oneline --graph (显示历史图)
git reset --hard HEAD~ (回滚上一次提交)
git reset --hard commitid
git reflog (查看完整操作日志)

1.分支合并指定的commitID 可以使用:

git cherry-pick commitid

2.如要完成合并连续的多个commit到分支:

A--B--C--D--E  (master)
   \
    F--G--H--O   (develop)
需要合并G--H到master分支的操作:
    a. Git checkout -b tmpdev H
    b. Git rebase --onto master G^
    c. Git checkout master
    d. Git merge tmpdev
最终实现
A--B--C--D--E--G'--H' (master)
操作的步骤效果如下

develop分支log
clipboard.png

使用命令
Git checkout -b tmpdev2 39f3050
Tmpdev2从develop拉取 “3ed add from develop”的分支log
clipboard.png

master分支log
clipboard.png

在tmpdev2分支上rebase "2ed add from develop" 和"3ed add from develop"到master分支上,即tmpdev2分支变成了 master + tmpdev2上的两次提交
clipboard.png

解决冲突后,两次目标提交被追加,且两次提交commitid被重命名

clipboard.png

在master上merge tmpdev2,再merge develop后的master如下
Git merge tmpdev2
Git merge develop
clipboard.png

连续merge了两个分支下,现回滚merge develop的操作
clipboard.png

查看完整的操作日志
clipboard.png

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值