git 合并两个不相关线上仓库分支的代码

在本地已有项目 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分支


至此,就完成了两个不相关的仓库的分支代码的合并

你可能感兴趣的:(git 合并两个不相关线上仓库分支的代码)