Git 合并两个不同的仓库

应用场景:

应用场景1:A公司的几个项目是找第三方B公司做的,每次发版上线的时候,A公司需要把B公司的代码合并到自己的代码库,然后发版部署

应用场景2:有系统基础脚手架B,A系统是在这个脚手架基础上开发的,A和B不在一个git仓库中,有时候脚手架B也会更新迭代,这个时候就需要把脚手架B合并到已经开发的系统A中

以上两个场景,都需要合并两个不同仓库的代码

部署步骤:

下载A公司的代码分支,并切换到test分支

git clone https://git.test1.tech/project/A.git 
git checkout test 

添加需要合并的B公司远程仓库

git remote add project_B http://git.test2.com/project/B.git 

把project_B远程仓库中数据抓取到本仓库

git fetch project_B 

checkout 切换到project_B的master分支上,命名为test_B

git checkout -b test_B project_B/master 

// 查看所有分支,可以看到 master、test、test_B三个分支 
git branch 

切换到test分支

git checkout test 

合并

git merge test_B 

合并报错:

fatal: 拒绝合并无关的历史 

解决:

git merge test_B --allow-unrelated-histories 

合并完成后会出现很多冲突(第一次合并会出现很多冲突,后续会好很多),需要再本地代码中解决冲突,然后编译没有问题,再提交到test中

git push

最后把test分支合并到master上线就可以了

本文的思路是伪造远程的B仓库为A仓库的一个分支,然后合并进来

更多内容,请扫码关注~

猜你喜欢

转载自blog.csdn.net/tunan666/article/details/113828699