小编Shy*_*yru的帖子

将多个 svn 存储库迁移到单个 git 存储库中

我们希望从 svn 永久迁移到 git,以便能够在分支和协作方面使用 git 更好的功能。

我们当前的 svn 存储库看起来像这样

svnrepo/
   frontend/
      trunk
      branches/
         ng/
         ...
      tags/
         1.x
         ...
   backend/
      trunk
      branches/
         ng/
         ...
      tags/
         1.x
         ...
Run Code Online (Sandbox Code Playgroud)

工作布局是我们检出前端项目,并在其中创建一个后端文件夹并检出后端项目。

我们现在想迁移到 git,并放弃前端和后端之间的拆分(就独立项目而言),因为它给我们带来的问题多于优势。我们希望它们都在一个 git 存储库中。

我想使用svn2git进行转换。不幸的是,最新的开发都发生在一个分支中,而不是在主干中,但我认为这对于 svn2git 来说应该不是问题。因此,新的 git 存储库布局应如下所示:

/            => svnrepo/frontend/branches/ng
/backend     => svnrepo/backend/branches/ng
Run Code Online (Sandbox Code Playgroud)

其中 => 表示“迁移/转换自”。

对于转换,我们没有必要将 svn 存储库中的所有标签和分支转换为 git。这对我们来说并不重要。然而重要的是,我们拥有所有提交到分支/ng 目录中的所有文件的完整历史记录,返回到主干分支以及之前发生在主干中的所有提交。我们希望所有这些提交都在单个 git 存储库中具有上述布局。这甚至可能吗?我们将如何做到这一点?

我已经在 google 和 stackoverflow 12 中进行了搜索,但找不到我们问题的确切解决方案。

svn migration version-control git

5
推荐指数
1
解决办法
8297
查看次数

标签 统计

git ×1

migration ×1

svn ×1

version-control ×1