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