使用场景:项目中同一个服务在2个不同的仓库中开发,当在2中开发的部分功能需要合并到1中时。
操作步骤:
1)在需要合并的目录打开gitbash,执行
git remote add 远程别名 远程地址
如:git remote add alias xxxxxxx.git
2)git fetch 别名 分支名
如:git fetch alias develop
此处必须使用 git fetch,因为 git pull = git fetch + git merge,会自动合并所有提交,从而导致不需要的提交被合入当前分支。
3)在gitlab commit查看commit的hash值,或者使用git log查看。复制需要合并的单个或多个hash后,执行命令:
单个:git cherry-pick commitId
多个:git cherry-pick commitId1 .. commitId5 (表示从1到5的提交)
git cherry-pick -n commitId1 commitId2 (cherry-pick 1和2)
4)使用git status确认状态无误后,执行git push即完成合并