在本地已有項目 A, 關聯(lián)的是線上git倉庫:?http://gitlab.xxxxxx.com.cn/xx/xxx/xxxx.git
線上倉庫的項目B,跟項目A 很相似, 部分代碼不一樣, B項目的代碼要比A項目來得新, 在A項目開發(fā)的時候需要拉取B項目某個分支 (develop分支的代碼)到本地倉庫進行繼續(xù)開發(fā)
在本地打開項目A,?執(zhí)行git命令
1. git remote? ? ? ? ? ? ? ? ? ? ? ? 顯示? origin 指的是A項目本地倉庫現(xiàn)在關聯(lián)的倉庫是?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倉庫也關聯(lián)上線上B倉庫git地址)
3. git fetch BN? ? ? ? 將線上B倉庫的所有分支代碼拉取到本地A倉庫里(BN/master,? BN/develop等B倉庫的分支)
4.git checkout develp? ?(切換到本地A倉庫的develop分支,也就是你要合并的分支,如果develop本身就存在, 如果不存在,可以 git checkout -b develop? ?創(chuàng)建并切換到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分支
至此,就完成了兩個不相關的倉庫的分支代碼的合并