在本地已有项目 A, 关联的是线上git仓库: http://gitlab.xxxxxx.com.cn/xx/xxx/xxxx.git
线上仓库的项目B,跟项目A 很相似, 部分代码不一样, B项目的代码要比A项目来得新, 在A项目开发的时候需要拉取B项目某个分支 (develop分支的代码)到本地仓库进行继续开发
在本地打开项目A, 执行git命令
1. git remote 显示 origin 指的是A项目本地仓库现在关联的仓库是 http://gitlab.xxxxxx.com.cn/xx/xxx/xxxx.git
2. git remote add BN http://gitlab.YYYYYY.com.cn/YY/YYY/YYYY.git (BN: B仓库在本地的别名自己命名, 后面是B线上仓库地址, 将本地A仓库也关联上线上B仓库git地址)
3. git fetch BN 将线上B仓库的所有分支代码拉取到本地A仓库里(BN/master, BN/develop等B仓库的分支)
4.git checkout develp (切换到本地A仓库的develop分支,也就是你要合并的分支,如果develop本身就存在, 如果不存在,可以 git checkout -b develop 创建并切换到develop分支)
5.git merge BN/develop (将A仓库中的B仓库分支代码合并到 本地A仓库的develop分支,这边应该会报错 fatal: refusing to merge unrelated histories, 无法合并两个不相干的仓库分支)
6. git merge BN/develop --allow-unrelated-histories (这样就能合并了, 解决代码冲突)
7.git add . 暂存修改
8.git commit -m '合并修改' 提交修改
9. git pull origin develop 更新A线上仓库 develop分支代码到本地A仓库develop分支
10. git push 将合并修改推送会A线上仓库develop分支
至此,就完成了两个不相关的仓库的分支代码的合并