Git 合并两个不同的仓库
场景:有一个系统基础脚手架,很多系统都在这个脚手架基础上开发,但是有时候这个脚手架也会更新迭代,这个时候需要把脚手架合并到已经开发系统中来,而且脚手架和现有系统不再一个Git仓库中,这时候需要合并两个不同的仓库的代码。
第一步. 下载需要合并的分支
要把需要合并的分支代码 clone到本地。
$ git clone https://gitee.com/alingfly/ASF_Test.git
第二步. 添加需要合并远程仓库
$ git remote add base https://github.com/AClumsy/ASF.git
将 base作为远程仓库,添加到 本地仓库(origin)中,设置别名为 base(自定义,这里我是为了方便区分仓库名)
第三步. 把base远程仓库中数据抓取到本仓库
$ git fetch base
From https://github.com/AClumsy/ASF
* [new branch] master -> base/master
第四步. checkount切换到base分支上,命名为 asf
$ git checkout -b asf base/master
Switched to a new branch 'asf'
Branch 'asf' set up to track remote branch 'master' from 'base'.
//查看一下所有分支
$ git branch
* asf
asf_test
由于我们需要把asf分支合并到asf_test分支中去,我们在切换到asf_test分支。
$ git checkout asf_test
第五步. 合并
$ git merge asf
合并完成之后会出现很多冲突,需要在本地代码中解决冲突,然后在提交到ASF_Test中去。
$ git push origin asf_test //上传到远程库
fatal: refusing to merge unrelated histories 错误
在执行 merge 合并的时候出现 fatal: refusing to merge unrelated histories 错误。这个错误可能会在 git pull 或者 git push 中都有可能会遇到,这是因为两个分支没有取得关系。
解决方案
在操作命令后面加 --allow-unrelated-histories
$ git merge asf --allow-unrelated-histories
总结:(引用学习文章的总结)
大致思路是伪造远程的asf仓库为asf_test的一个分支,然后合并进来;
若是文件有冲突、或要建立子目录,建议在asf中先解决,再进行如上操作。
作者:阿凌
出处:https://www.cnblogs.com/lfzm/p/10681412.html
【版权声明】 作品来自于长沙.NET技术社区成员【阿凌】,有兴趣了解长沙.NET技术社区详情,请关注公众号【DotNET技术圈】,作品版权归作者和博客园共有,作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。
Git 合并两个不同的仓库的更多相关文章
- git合并两个不同的仓库
目前开发是2个仓库,线上仓库online_a(对应的branch分支为online),测试环境online_b(对应的branch分支为demo),测试环境需要时刻保持onine_a上的最新稳定稳定代 ...
- git 合并两个仓库
我有两个仓库,一个是gitbook在写一本 一个是放在github的垃圾,这个是我想要开个人网站,但是做的还是不行https://github.com/lindexi/lindexi.github.i ...
- 如何用 Git 合并两个库,并保留提交历史
转载自 https://segmentfault.com/a/1190000000678808 背景 一个中型规模项目,开始规划时就打算采用 C/S 架构,后端是单纯的 API 服务,前端在 Web ...
- Git 合并两个分支内容
1,将开发分支代码合入到master中 git checkout dev #切换到dev开发分支 git pull git checkout master git merge dev #合并dev分支 ...
- git 合并两个分支的某个文件
软件开发基本都是多个feature分支并行开发,而在上线前有可能某个分支的开发或测试还没有完成,又或者是产品调整,取消了该分支功能的上线计划,我们在release前不合并该分支即可,然而如果该分支中的 ...
- 合并两个git仓库
现有两个git仓库ekt_zy.ekt_zijian,需要把ekt_zijian项目中的代码合并到ekt_zy项目中. 1 将ekt_zijian作为远程仓库.添加到ekt_zy中,设置别名为ziji ...
- Git提交到多个远程仓库(多看两个文档)
Git提交到多个远程仓库(多看两个文档) 一.总结 一句话总结: 二. Git提交到多个远程仓库(多看两个文档) 有两种做法,先看第一种 一.通过命令行进行操作 例如我有下面两个仓库: Mybatis ...
- git合并不同仓库下的分支
1.把lib合并到pro $ git remote -v origin git@192.168.1.1:lib.git (fetch) origin git@192.168.1.1:lib.git ( ...
- Git合并不同url的项目
本文由云+社区发表 作者:工程师小熊 摘要:为了让项目能实现Git+Gerrit+Jenkin的持续集成,我们把项目从Git上迁移到了Gerrit上,发现有的同事在老Git提交代码,因为Gerrit做 ...
随机推荐
- ubuntu安装vsftpd
使用以下命令安装vsftpd: apt-get install vsftpd 安装完成后,文件服务器已经开启了. 然后就可以连接,可以使用xftp等工具,在上传和下载的时候要注意权限,不然会失败.
- java基础之多线程二:多线程实现方式
方式一: 继承Thread类. /* * main函数也叫主函数(也叫主线程), * 因为所有代码的执行都是从这里开始的. */ public static void main(String[] ar ...
- day63-webservice 02.cxf环境搭建
指定bin目录的目的是在docs窗口可以直接来执行这里面的命令. ANT这里面
- solr开发 小案例
<?xml version="1.0" encoding="UTF-8"?> <web-app version="3.0" ...
- SQLite在php中的接口
sqlite是一种比较轻型的嵌入式数据库,它与 SQL 之间的不同,为什么需要它,以及它的应用程序数据库处理方式.SQLite是一个软件库,实现了自给自足的.无服务器的.零配置的.事务性的 SQL 数 ...
- Oracle——创建和管理表
一.常见的数据库对象 对象 描述 表 基本的数据存储集合,由行和列组成 视图 从表中抽出的逻辑上相关的数据集合 序列 提供有规律的数值 索引 提高查询的效率 同以词 给对象起别名 二.Oracle 数 ...
- <abbr> 元素的样式为显示在文本底部的一条虚线边框,当鼠标悬停在上面时会显示完整的文本(只要您为 <abbr> title 属性添加了文本)
<abbr title="World Wide Web">WWW</abbr><br><abbr title="Real Sim ...
- servlet模板
package ${enclosing_package};import java.io.IOException;import javax.servlet.ServletException;import ...
- JavaScript 的 export default 命令
export default 指定模块的默认输出,一个模块只能有一个默认输出. 举个例子. export-default.js export default { name: 'hello', data ...
- idea无法下载源码(Cannot download sources)
有网上说,在命令行项目根目录下,执行如下命令下载: mvn dependency:resolve -Dclassifier=sources 我试着没有效果. 但是在本地仓库中,找到要下载的目录,删除以 ...