美文网首页
合并两个已经存在的git仓库

合并两个已经存在的git仓库

作者: 政在coding | 来源:发表于2019-06-12 11:20 被阅读0次

假设现在已经有 sdk1、sdk2的git仓库。目的是想把两个仓库合并成一个,并且保留提交记录方便日后排查问题。
下面是将sdk2合并到sdk1。sdk1保留各种服务端配置
建议先检查两个sdk的根目录是否存在同名文件,即.git文件夹同一目录下有没有同名文件 。防止合并过程中,该目录下出现同名文件导致冲突。建议最好就是每个库先放到自己的一个文件夹里面先。
打开终端,cd 到sdk1目录下,执行下面命令,将test2作为sdk1的远程仓库,并且命名为test2

git remote add test2 **path_of_sdk2**

执行下面命令,将test2仓库下拉到sdk1

git fetch test2

将test2仓库下载过来的master分支作为新分支checkout到本地,并将新分支设为test2

git checkout -b test2 test2/master

执行完这条命令后,git环境可能会出现一些文件,先不理会
切换回sdk1仓库的master分支

git checkout master

将test2仓库的master分支合入sdk1仓库的master分支。如不添加allow-unrelated-histories 参数,可能会报fatal: refusing to merge unrelated histories 的异常。

git merge test2 --allow-unrelated-histories

此时,合并可能会报冲突,请把冲突解决之后,commit提交合并

执行下面命令,将sdk1添加的test2远程分支和本地分支删除

git remote remove test2
git branch -d test2

完毕。

本地的算做完了,但是push的时候遇到一些问题。因为我们合并的时候,里面有很多记录都是别人的commit,作者是他们,而不是我。所以当开启了gerrit的committer和author检查的时候,push就会报错。因为这里的提交实在太多了,最快的解决方法就是把 Forge Author\Forge Committer 这两个权限加上,然后就可以push到gerrit上了。

这里补充一些用SourceTree时候发现的问题:

1、如果你在合并前对库的文件进行了移动,合并之后,以前的提交记录里面的文件仍然是旧的路径的。,那么合并之后将会找不到文件地址(虽然记录是可以看到的,但是双击不能打开)。以后只能依靠库的相对路径去找到这个文件。

2、移动了文件之后,相当于重命名了,在看文件的更改记录的时候你会发现只有一条记录,需要勾选左下角的“跟踪已重命名文件”才可以看到之前的记录。

相关文章

  • Git合并两个不同的仓库

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

  • 合并两个已经存在的git仓库

    假设现在已经有 sdk1、sdk2的git仓库。目的是想把两个仓库合并成一个,并且保留提交记录方便日后排查问题。下...

  • Git

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

  • git修改远程仓库地址

    git remote查看已经存在的远程分支 git remote -v查看已经存在的远程仓库地址 git remo...

  • 克隆仓库

    克隆仓库:git clone 原始仓库 新仓库git remote:列出已经存在的远程分支添加跟踪远程分...

  • SourceTree合并两个仓库的代码

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

  • Git第一次本地代码提交到远程仓库

    前言 要先确定前面是否已经存在仓库git remote -v如果存在,删除原有的仓库git remote rm o...

  • git 命令

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

  • git 合并两个仓库

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

  • Git 上传文件命令

    git添加到本地仓库 git提交到本地仓库 git推送到远程仓库 git合并分支 当前配置链接命令 把当前地址设置...

网友评论

      本文标题:合并两个已经存在的git仓库

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