在日常的开发中我们经常会遇到一种情况,我们针对 a 地项目开发时建了仓库 a,针对 b 地项目开发时建了仓库 b,仓库 ab 之间有一定关联性, 但是 ab 仓库又不是同源的仓库,如果要将 a 仓库和 b 仓库代码合并,常常会出现报错,那么如何将 ab 仓库合并呢?特地介绍如下
下面以 a 仓库作为我们最新代码仓库,b 仓库作为我们需要更新代码的仓库。
1.git clone http://172.16.1.xx.xx/a.git
将 a 仓库克隆下来
2.git remote add b_origin http://172.17.xx.xx/b.git
在 a 仓库中创建一个远程仓库,这一步仅仅创建了远程仓库,还没拉下来代码。
3.git fetch b_origin
4.git switch -c b_origin/master
将 b 仓库代码拉下来并将本地分支切换为 b 仓库,这样的话我们在本地就有一个 b 仓库的分支了
5.git merge master --allow-unrelated-histories
将 a 仓库代码 master 分支 merge 到本地分支,因为我们现在在 b 仓库的本地分支上,就会将 a 仓库的代码和 b 仓库的本地分支合并。
6.用vscode打开 b 仓库,因为之前我们的命令,现在 b 仓库强制更新了 a 仓库代码,需要解决冲突
7.将 b 仓库代码推送到远端仓库 b