文章目录
笔者需要将两个无关的 Git 仓库合并,也就是把一个 Git 仓库的分支加入另一个无关的 Git 仓库。笔者琢磨了一下之后就实现了。方法如下。
笔者的运行环境:
git version 2.37.0.windows.1
TortoiseGit 2.11.0.0
IntelliJ IDEA 2023.1.1 (Ultimate Edition)
Windows 10 教育版
为了便于说明,作如下约定:
-
称吸收另一个无关 Git 仓库的 Git 仓库为
主仓库
,被吸收的 Git 仓库为旁仓库
。 -
主仓库的本地目录为
F:\Git\main
,旁仓库的本地目录为F:\Git\side
。 -
主仓库有一个分支
main_branch
,旁仓库有一个分支side_branch
。 -
现在来将旁仓库的分支
side_branch
加入到主仓库中。这之后,主仓库会有两个分支main_branch
和side_branch
。
-
从远程服务器中将主仓库下载到本地。如果主仓库在本地已存在,此步骤可忽略。但旁仓库可以是远程服务器上的,也可以是本地的,不需要下载到本地。
-
在主仓库中,使用鼠标右键菜单进入 TortoiseGit 界面。不一定非要用 TortoiseGit,直接用 Git 命令行也可以,但用 TortoiseGit 非常方便。
在 TortoiseGit 填写旁仓库的仓库地址,旁仓库的地址可以是远程服务器上的,也可以是本地的。
-
在主仓库读取旁仓库的分支目录。
-
在 IntelliJ IDEA 在打开主仓库。不一定非要用 IntelliJ IDEA,直接在 TortoiseGit 上操作也可以,但 IntelliJ IDEA 关于 Git 的可视化界面做得非常好,用 IntelliJ IDEA 非常方便。
可以看到,在主仓库中显示出了旁仓库的分支。
-
直接将旁仓库的分支签出,即可吸收旁仓库的分支
side_branch
。 -
现在,主仓库就同时把旁仓库的分支
side_branch
也吸收进去了。