场景

我在本地有个代码仓库local-A,本地仓库local-A已经和一个远程仓库remote-A关联了。

接着我又在GitHub上新建了一个仓库remote-B,我希望将本地仓库local-A的本地dev分支push到这个新建的远程库remote-B。我的想法是这样的:

  1. 在本地仓库local-A里添加刚刚新建的远程库remote-B
  2. 检出(check out)并切换到remote-B的master分支
  3. 将本地dev分支merge到当前的master分支
  4. 解决可能发生的冲突后,将改动全部commit并push到远程库remote-B的master分支上

接着当我做到第三步的时候,发现报错如下:

Merge: refusing to merge unrelated histories

看到报错,我又重新操作了一遍,依然是同样的错误。记得以前我也做过类似的操作,但是却没有现在的问题,百度了下,发现可能是git升级之后造成的。

解决方案

因为两个仓库是不同的项目(本地仓库已经跟踪了另外一个远程库了),git默认不允许不相干的项目进行push等操作。如果想要进行这些操作,就需要加入--allow-unrelated-histories参数才可以合并两个不同的项目:

git merge --squash dev --allow-unrelated-histories

这句命令表示将dev分支合并到当前分支,这里的两个本地分支各自追踪不同的远程库,需要加入--allow-unrelated-histories参数才能够完成合并操作而不报错,至于--squash参数是为了压缩dev分支原本的commit历史,可以将原本所有的commit历史合成一个commit,以避免当前分支在合并之后掺入了其他项目的commit历史。

参考链接

最新文章

  1. C语言学习007:重定向标准输入和输出
  2. JSF页面中使用js函数回调后台bean方法并获取返回值的方法
  3. android小技巧和注意事项
  4. 会话标识未更新(AppScan扫描结果)
  5. 如何在tomcat安装部署php项目
  6. 图片轮换cycle插件的运用
  7. UML_时序图画法
  8. CodeForces 478B 第六周比赛B题
  9. org.openqa.selenium.SessionNotCreatedException: A new session could not be created.
  10. java框架之SpringBoot(5)-SpringMVC的自动配置
  11. svn 清理失败的解决方法
  12. JavaScript中的工厂函数
  13. LNMP一键安装包-CentOS/Ubuntu/Debian自动安装Nginx,MySQL,PHP
  14. ie兼容图片缩小后模糊失真(锯齿)问题
  15. 腾讯云-搭建 JAVA 开发环境
  16. Mac普通用户修改了/etc/sudoers文件的解决办法
  17. [javaSE] 网络编程(TCP-并发上传图片)
  18. 解决win10下git闪退
  19. [转]基于WorldWind平台的建筑信息模型在GIS中的应用
  20. jQuery带缩略图焦点图插件

热门文章

  1. TabHost的坑
  2. android——array中设置选项
  3. git 合并子分支
  4. SQL server 备份/恢复/压缩 进度查询
  5. 【应用】图片翻转js
  6. BZOJ_1941_[Sdoi2010]Hide and Seek_KDtree
  7. 【转】使用vue-cli搭建项目
  8. bzoj2875随机数生成器——矩阵快速幂
  9. HDU2844(多重部分和)
  10. HDU2444(二分图判定+最大匹配)