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
git-合并分支指定commits

使用命令
Git checkout -b tmpdev2 39f3050
Tmpdev2从develop拉取 “3ed add from develop”的分支log
git-合并分支指定commits

master分支log
git-合并分支指定commits

在tmpdev2分支上rebase "2ed add from develop" 和"3ed add from develop"到master分支上,即tmpdev2分支变成了 master + tmpdev2上的两次提交
git-合并分支指定commits

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

git-合并分支指定commits

在master上merge tmpdev2,再merge develop后的master如下
Git merge tmpdev2
Git merge develop
git-合并分支指定commits

连续merge了两个分支下,现回滚merge develop的操作
git-合并分支指定commits

查看完整的操作日志
git-合并分支指定commits

相关推荐