merge-two-git-repo-with-history-left
有两个不同地址的库,现在需要把这两个git仓库的dev分支合并到一个新的git仓库的dev分支。
两个不同地址的库:
1 | https://127.0.0.1/mygroup/project1.git,分支dev |
现在需要把这两个git仓库的dev分支合并到一个新的git仓库的dev分支:
1 | https://127.0.0.1/mygroup/allprojects.git |
按以下步骤操作:
一、克隆allproject到本地
1 | git clone https://127.0.0.1/mygroup/allprojects.git |
二、切换到allprojects的dev分支
1 | git checkout dev |
三、添加project1远程仓库,命名为project1。
1 | git remote add project1 https://127.0.0.1/mygroup/project1.git |
四、从远程仓库拉取project1
1 | git fetch project1 |
五、将project1仓库拉取dev分支作为新分支checkout到本地,新分支名设定为project1-dev
1 | git checkout -b project1-dev project1/dev |
六、切换到allprojects的dev分支
1 | git checkout dev |
七、将本地的project1-dev合并到当前的dev分支
1 | git merge project1-dev |
如果报错:fatal: refusing to merge unrelated histories … 则使用加上一个参数:
1 | git merge project1-dev --allow-unrelated-histories |
同样,合并project2仓库,重复步骤三到七。
八、最后,推送合并后的dev分支到远程即可
1 | git push origin dev |