第一步. 下载需要合并的分支
要把需要合并的分支代码 clone到本地。
$ git clone ${你要合并的远程仓库地址}
第二步. 添加需要合并远程仓库
$ git remote add base ${你要合并的远程仓库地址}
将 base作为远程仓库,添加到 本地仓库(origin)中,设置别名为 base(自定义,这里我是为了方便区分仓库名)
第三步. 把base远程仓库中数据抓取到本仓库
$ git fetch base From ${你要合并的远程仓库地址} * [new branch] master -> base/master
第四步. checkount切换到base分支上,命名为 xxxx
$ git checkout -b asf base/master Switched to a new branch 'xxxx' Branch 'xxxx' set up to track remote branch 'master' from 'base'. //查看一下所有分支$ git branch * xxxx xxxx_test
由于我们需要把xxxx分支合并到xxxx_test分支中去,我们在切换到xxxx_test分支。
$ git checkout xxxx_test
第五步. 合并
$ git merge xxxx
合并完成之后会出现很多冲突,需要在本地代码中解决冲突,然后在提交到xxxx_Test中去。
$ git push origin xxxx_test //上传到远程库
fatal: refusing to merge unrelated histories 错误
在执行 merge 合并的时候出现 fatal: refusing to merge unrelated histories 错误。这个错误可能会在 git pull 或者 git push 中都有可能会遇到,这是因为两个分支没有取得关系。
解决方案
在操作命令后面加 —allow-unrelated-histories
$ git merge xxxx --allow-unrelated-histories