背景

假设有一个项目存在一个主干分支和若干分支:

  remotes/origin/HEAD -> origin/master
  remotes/origin/master
  remotes/origin/v1.0.1
  remotes/origin/v1.0.2
  remotes/origin/v1.0.3
  remotes/origin/v1.0.4
  remotes/origin/v1.0.5
 

需求描述

要将master提交的某个commit合并到v1.0.5

操作步骤

1、clone项目或者下载指定分支项目(如果有问题,可参考我的Git关于分支常用命令记录,切换分支、下载指定分支)
2、在本地新建或切换到v2.0分支,操作如下:

// 方式一、新建分支, v1.0.5表示本地分支名称, remotes/origin/v1.0.5是远程分支名称
 git checkout -b v1.0.5 remotes/origin/v1.0.5


 

注意:操作之前可通过: git branch -a查看所有分支(结果如下图)

git如何将另一个分支的指定commit合并到另一个分支git如何将另一个分支的指定commit合并到另一个分支_git

 // 方式二、切换分支
git checkout v1.0.5

注意:操作之前可通过: git branch查看所有分支(结果如下图)

git如何将另一个分支的指定commit合并到另一个分支git如何将另一个分支的指定commit合并到另一个分支_常用命令_02

3、通过 git cherry-pick 00940ac970b9ddab63bff928479668bbfa293aaf 将另一个分支指定commit-id合并到本地分支,00940ac970b9ddab63bff928479668bbfa293aaf是另一个分支的commit-id,也可以用空格分离多个commit-id批量提交。

4、此时通过git log查看本地分支则会显示你获取的指定提交
5、确认本地v1.0.5已经获取到另一个分支的指定提交后,然后就可以直接通过git push提交代码啦!(当然,不要忘了在git push前先git pull拉取最新的代码呦!否则可能就会出现meger冲突。如若出现此错误,可通过查看我的文章解决git Meger消息出现的问题解决)