MorFans Dev
折腾 - 开发 - 分享

Git 合并本地两个不同的 Repo 仓库

Git 合并本地两个不同的 Repo 仓库

今天整理电脑资料的时候发现有两个本地仓库需要整合到一起,所以记录一下如何处理这种情况。

Git 仓库因为有历史记录,合并时候最好不要直接直接复制文件,最好能够保留历史记录让两个仓库合并到一起。

其实这个步骤和git tempale / upstream 同步方法基本上是一样的,就是先添加一个远程的地址然后把它拉取下来,以此创建一个分支然后处理冲突并合并。

只是我们要合并的这两个仓库不能说是没什么关系,只能说是毫不相关。因此基本上不需要解决冲突。

合并两个 Git 本地仓库

首先这里有两个仓库

  • 学金采访
  • 宣传邮件

我们要把宣传邮件这个仓库合并到学金采访里

首先进入 学金采访 仓库,可以看到 remote 只有一个 origin。

学金采访 on  master
❯ git remote -v
origin  git@github.com:MorFans/China-scholarship-interview-answer.git (fetch)
origin  git@github.com:MorFans/China-scholarship-interview-answer.git (push)

要把 宣传邮件合并到 学金采访 仓库中,我们先把 宣传邮件 仓库设置为它的remote,这里取名为 merge_branch:

这里 ..\宣传邮件\宣传邮件 仓库的路径,如果你是远程,把这里改成网址即可(确保你有访问权)

学金采访 on  master
❯ git remote add merge_branch ..\宣传邮件\

添加完成后,可以看到已经多出来了 merge_branch:

学金采访 on  master
❯ git remote -v  
merge_branch    ..\奖学金\ (fetch)
merge_branch    ..\奖学金\ (push)
origin  git@github.com:MorFans/China-scholarship-interview-answer.git (fetch)
origin  git@github.com:MorFans/China-scholarship-interview-answer.git (push)

然后我们把 宣传邮件 仓库给拉取下来:

fetch 之后会就有了这个 merge_branch/master 分支,这个就是我们的 宣传邮件 仓库的

学金采访 on  master
❯ git branch -a
*master
remotes/origin/master

学金采访 on  master
❯ git fetch merge_branch
remote: Enumerating objects: 6, done.
remote: Counting objects: 100% (6/6), done.
remote: Compressing objects: 100% (6/6), done.
remote: Total 6 (delta 1), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (6/6), 2.46 KiB | 148.00 KiB/s, done.
From ..\宣传邮件\
 * [new branch]      master     -> merge_branch/master

然后以此创建一个分支 merge

学金采访 on  master
❯ git checkout -b merge merge_branch/master
Switched to a new branch 'merge'

branch 'merge' set up to track 'merge_branch/master'.

然后就可以合并了,先切换到 主分支(master),然后把 merge 分支合并到 master 分支

使用 git merge 命令,配上允许不相关历史参数来合并:

学金采访 on  merge:master
❯ git checkout master
Switched to branch 'master'
Your branch is up to date with 'origin/master'.

学金采访 on  master
❯ git merge --allow-unrelated-histories merge
Merge made by the 'ort' strategy.

 ...邮件.txt" | 25 ++++++++++++++++++++++
 1 file changed, 25 insertions(+)
 create mode 100644 "邮件.txt"

至此就合并完成了 🎉

赞赏
魔帆博客,版权所有 | 如未注明,均为原创
本站均采用 BY-NC-ND 协议 (署名-非商业性使用-禁止演绎) 进行授权。
转载请注明来自本站文章:Git 合并本地两个不同的 Repo 仓库(https://www.morfans.cn/archives/3373)

野小新

文章作者

野小新很野~

发表回复

textsms
account_circle
email

  • 梦凡

    雀氏好用,爆赞!

    2年前 回复

Git 合并本地两个不同的 Repo 仓库
今天整理电脑资料的时候发现有两个本地仓库需要整合到一起,所以记录一下如何处理这种情况。 Git 仓库因为有历史记录,合并时候最好不要直接直接复制文件,最好能够保留历史记录让两个…
扫描二维码继续阅读
2022-05-07