美文网首页
Git合并两个不同的仓库

Git合并两个不同的仓库

作者: 木木与呆呆 | 来源:发表于2021-08-31 15:06 被阅读0次

1.说明

Git合并两个不同的仓库,
两个都是已经存在的仓库,
比如grpc-demo和Telemetry,
演示将grpc-demo下的工程整体放入到
Telemetry下面的方法,
同时保留代码的提交记录。

2.grpc-demo改造

grpc-demo工程原始目录如下:

grpc-demo
|-- grpc-client
|-- grpc-compile
|-- grpc-server
`-- pom.xml

由于需要把grpc-demo下的工程整体放入,
需要先改造grpc-demo工程,
新增一层名为grpc-demo的目录,
然后把下面的项目放进去,
提交到本地git即可,
改造后工程目录如下:

grpc-demo
`-- grpc-demo
    |-- grpc-client
    |-- grpc-compile
    |-- grpc-server
    `-- pom.xml

如果是把grpc-demo下的工程直接放入
Telemetry下面的话,
则不需要改造。

3.Telemetry新增远程仓库

在Telemetry下面新增远程仓库remote_b,
仓库地址为grpc-demo的本地仓库,

git remote add remote_b file://D:/Code/Work/grpc-demo

grpc-demo的本地仓库地址,
使用file:开头,
后面跟文件所在路径即可,
文件路径的分隔符需要使用反斜杠/,
好处在于grpc-demo的改造不需要提交到远程仓库,
操作完后直接回滚本地修改即可,
不会影响grpc-demo工程的后续使用。

如果已经存在了remote_b仓库,
可以先删除掉:

git remote remove remote_b

查看添加的远程仓库:

git remote -v

可以看到添加的远程仓库:

remote_b        file://D:/Code/Work/grpc-demo (fetch)
remote_b        file://D:/Code/Work/grpc-demo (push)

4.Telemetry拉取远程仓库

在Telemetry工程下拉取远程仓库grpc-demo:

git fetch remote_b

5.Telemetry合并远程仓库

在Telemetry的当前master分支,
合并远程仓库remote_b的master分支:

git merge remote_b/master --allow-unrelated-histories

合并完成后可能会出现很多冲突,
请在本地代码中解决冲突,
成功后再推送到自己的远程仓库。

注意使用--allow-unrelated-histories参数,
否则会报错:拒绝合并无关的历史。

6.查看Telemetry

查看Telemetry的工程目录如下:

Telemetry
|-- grpc-demo
|   |-- grpc-client
|   |-- grpc-compile
|   |-- grpc-server
|   `-- pom.xml
`-- grpc-moon
    `-- pom.xml

可以看到grpc-demo工程整体放到了
Telemetry工程下面,
和Telemetry下面原有的grpc-moon同级了。

查看提交记录发现原来的日志也合并过来了:

git log

7.参考文章

Git 合并两个不同的仓库
合并两个不同远程仓库的Git命令

相关文章

  • Git

    Git 工具 - 子模块 git合并两个不同的仓库 A successful Git branching mode...

  • Git合并两个不同的仓库

    1.说明 Git合并两个不同的仓库,两个都是已经存在的仓库,比如grpc-demo和Telemetry,演示将gr...

  • git 合并两个不同仓库

    在日常开发过程中,可能会遇到需要将两个不同的仓库合并成到一个仓库的场景。这里介绍一下怎么将两个不同的仓库合并到一个...

  • 当把旧的git项目推送到新建的远程仓库时

    当使用命令:git pull origin master,拉取远程仓库时报错: 由于要合并两个不同的项目,所以需要...

  • git 合并两个仓库代码

    git 同一行运行多个命令 用"&&" 来分隔多个命令 多个仓库代码之间进行代码合并 原理 git不区分不同仓库是...

  • git pull refusing to merge unrel

    如果合并了两个不同开始提交的仓库的时候,在2.9.2之后的git会发现这两个仓库可能不是同一个,为了防止开发者上传...

  • Git的使用

    Git 本文章是记录Git日常使用的问题集合 问题 合并不同的git仓库 问题描述 该需求是在做supermark...

  • SourceTree合并两个仓库的代码

    现在有两个GIT仓库,a和b。要把仓库b的代码合并到a上,操作步骤如下: 点击仓库a的设置,在远程仓库添加仓库b的...

  • git 命令

    git命令手册 分支 合并 远程仓库

  • git 合并两个仓库

    合并两个git仓库 例如: 需要5步: 总结:思路就是把TestPro1当做TestPro2 的一个分支,然后合并...

网友评论

      本文标题:Git合并两个不同的仓库

      本文链接:https://www.haomeiwen.com/subject/speziltx.html