惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Martin Fowler
Martin Fowler
J
Java Code Geeks
博客园 - 【当耐特】
宝玉的分享
宝玉的分享
腾讯CDC
D
DataBreaches.Net
Microsoft Azure Blog
Microsoft Azure Blog
Engineering at Meta
Engineering at Meta
V
V2EX
F
Fortinet All Blogs
MyScale Blog
MyScale Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
T
Tailwind CSS Blog
Jina AI
Jina AI
GbyAI
GbyAI
大猫的无限游戏
大猫的无限游戏
A
About on SuperTechFans
酷 壳 – CoolShell
酷 壳 – CoolShell
爱范儿
爱范儿
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
U
Unit 42
B
Blog
M
MIT News - Artificial intelligence
N
Netflix TechBlog - Medium

野小新 – 魔帆博客

Python包管理的血泪史:从混乱到秩序的漫长征 | 魔帆博客 Mac mini + iPad 随航梦幻联动!零显示器配置指南,iPad 秒变 Mac 主屏幕 | 魔帆博客 解锁iOS侧载自由:使用sideStore轻松搞定ipa签名 | 魔帆博客 Git配置:如何优雅的配置多用户并使用 ssh 密钥验证 | 魔帆博客 Git 提示 fatal: unsafe repository is owned by someone else 错误 | 魔帆博客 安装有 RootMagiskXposedPlay 的 WSA 安卓子系统 | 魔帆博客 Fedora 系统升级 32->34 跨版本升级 | 魔帆博客 教程:如何更新安装 docker-compose V2 和使用 docker switch | 魔帆博客 2022 年 Android 下的安卓浏览器使用指北-Firefox向 | 魔帆博客 Docker WSL1/2 迁移 Linux 发行版目录 | 魔帆博客 Spotify 主题 spicetify-fluent - 微软 win11 风格美化 | 魔帆博客 WSA 安卓子系统 adb 提示 cannot connect the target machine actively refused it 10061 | 魔帆博客 双重验证 Authy 导出所有 TOTP token 和 golang 配置 GOPROXY 解决网络问题 | 魔帆博客 powershll 像 bash 一样为单个命令设置临时环境变量 | 魔帆博客 Linux 教程:Linux 初学者必了解的概念 | 魔帆博客 安卓电池充电保护-智能充电/温控切断(Root方案) | 魔帆博客 备用机养成方案 - Tasker 安卓短信转发到 telegram | 魔帆博客 创建支持安全启动(Secure Boot)的 Arch Linux ISO 安装镜像 | 魔帆博客 MiBand小米手环2/3刷机刷固件刷表盘刷字体指南(iPhone iOS 也支持) | 魔帆博客
Git 合并本地两个不同的 Repo 仓库 | 魔帆博客
野小新 · 2022-05-07 · via 野小新 – 魔帆博客

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

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"

至此就合并完成了 🎉