将存储库添加为另一个存储库的分支及其所有历史记录

Add repositories as branches of another repository with all their histories

我有一些独立的旧存储库,而其中大部分实际上是主存储库的分支。

有没有办法将这些存储库作为分支引入主存储库,同时保留它们的所有历史记录?

以下是您可以对每个旧存储库执行的操作(假设这些存储库只有一个分支 master):

  1. cd 到你的主仓库
cd path/to/mainrepo
  1. 将旧仓库添加为主仓库的远程仓库:
git remote add oldrepo path/to/oldrepo
  1. 从那个新遥控器获取:
git fetch oldrepo
  1. 使用您刚刚获取的内容创建一个新分支:
git branch oldrepo remotes/oldrepo/master
  1. 在那之后,当然,删除远程仓库是有意义的(特别是如果你删除你的旧仓库,它现在是你的主仓库的一个新分支——包含它的所有历史):
git remote rm oldrepo

如果您的一些旧存储库有多个分支,您必须按照完全相同的方法分别为每个分支获取并创建一个新分支。