博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
git合并两个不同的仓库
阅读量:5843 次
发布时间:2019-06-18

本文共 2321 字,大约阅读时间需要 7 分钟。

目前开发是2个仓库,线上仓库online_a(对应的branch分支为online),测试环境online_b(对应的branch分支为demo),测试环境需要时刻保持onine_a上的最新稳定稳定代码同步过来。如何合并呢?特此记录下:

在测试仓库onine_b 上执行:

1:测试仓库添加远程生产仓库(切换到自己的测试仓库下执行以下命令,比如我的当期测试online_b.git)

git remote add online_a git@github.com:fantasy/online_a.git //将online_a作为远程仓库,添加到online_b中,设置别名为online_a(自定义,这里我是为了方便区分仓库名)

2:从远程仓库下载,这时我们弄个新的

git fetch online_a //从online_a仓库中抓取数据到本仓库,注意这里是上面设置的别名
$ git fetch online-aremote: Counting objects: 21744, done.remote: Compressing objects: 100% (7380/7380), done.remote: Total 21744 (delta 15332), reused 20415 (delta 14323)Receiving objects: 100% (21744/21744), 2.44 MiB | 214.00 KiB/s, done.Resolving deltas: 100% (15332/15332), completed with 201 local objects.From git@github.com:fantasy/online_a.git* [new branch]          demo              -> online-backend/demo * [new branch]          online            -> online-backend/online * [new tag]             demo-last-bad     -> demo-last-bad * [new tag]             demo-last-ok      -> demo-last-ok * [new tag]             v2.0-beta         -> v2.0-beta * [new tag]             v2.1-days         -> v2.1-days * [new tag]             v2.1-dist         -> v2.1-dist * [new tag]             v2.2-dist         -> v2.2-dist * [new tag]             v2.2-nosmartbid   -> v2.2-nosmartbid * [new tag]             v2.2demo          -> v2.2demo * [new tag]             v2.3-bad-smartbid -> v2.3-bad-smartbid * [new tag]             demo-no-score     -> demo-no-score * [new tag]             tmp-repay-v1      -> tmp-repay-v1 * [new tag]             tmp-repay-v2      -> tmp-repay-v2 * [new tag]             transfer-dep-last -> transfer-dep-last * [new tag]             transfer-dep-ok   -> transfer-dep-ok

3:将online_a仓库抓去的online分支作为新分支checkout到本地,新分支名设定为online_repo1

$ git checkout -b online_repo1 online-a/online  //注意这里也是别名online_a

Switched to a new branch 'online_repo1'
Branch 'online_repo1' set up to track remote branch 'online' from 'online-a'.

4:切换回本地测试的online_b的demo分支

$ git checkout demoSwitched to branch 'demo'Your branch is up to date with 'origin/demo'.

5:将online_repo1合并入demo分支

git merge online_repo1

6:解决冲突:

git add .git commit -m "合并"git push online_repo1 online_a:online //上传到远程库git checkout demogit merge online_repo1git branch -d online_repo1
总结:
  1. 大致思路是伪造远程的repo1仓库为repo2的一个分支,然后合并进来;
  2. 若是文件有冲突、或要建立子目录,建议在repo1中先解决,再进行如上操作。

转载地址:http://tkqcx.baihongyu.com/

你可能感兴趣的文章
OO第二单元作业小结
查看>>
vue之安装配置
查看>>
angular之两种路由
查看>>
useradd命令详解
查看>>
Ubuntu下编译内核
查看>>
Linux 信号量 生产者消费者小例题
查看>>
go语言中的方法method
查看>>
Redis 集合处理
查看>>
(八)路径(面包屑导航)分页标签和徽章组件
查看>>
调试 SharePoint 解决方案
查看>>
洛谷 P1417 烹调方案 (01背包拓展)
查看>>
洛谷 P1414 又是毕业季II (多个数的最大公因数)
查看>>
谷歌Gboard输入法新增“无痕模式”:仅在Chrome隐身窗口中适用
查看>>
SDOI2017 新生舞会
查看>>
单线程+异步协程
查看>>
Windows Azure 安全最佳实践 - 第 6 部分:Azure 服务如何扩展应用程序安全性
查看>>
集成方法-概念理解
查看>>
ubuntu 的QT4的qmake失败的处理方法
查看>>
C++ Primer 第Ⅲ部分笔记——类设计者的工具
查看>>
CMDB功能分析与实现方案
查看>>