git代码库迁移保留commit历史_Git迁移:将提交从一个仓库复制到另一个仓库,包括合并提交和保留历史记录...

我们的项目最近(约4个月前),从SVN转移到git . 我们最初的迁移是由一个具有基本git知识的人完成的 . 我们的git repo现在有点混乱(有一个提交,其中100万个文件被删除,差异就像25G) .

我想修复git repo,因为内存错误导致责备退出,更不用说sonarqube需要很长时间才能运行 .

The project layout was:

我们在svnroot下的子目录中有几个模块 .

svnrepo/

module1/

trunk

branches/

...

tags/

1.x

...

module2/

trunk

branches/

...

tags/

1.x

...

现在我们有一个"big" git repo,其中所有模块都是子目录 .

我无法导入整个svnroot(我只对中继线感兴趣),并尝试了几个工具,包括git svn,但没有用 .

What I have done:

管理导入子目录(使用svn2git rubygem)作为git repos,并使用filter分支移动子目录中的文件,并合并develop中的所有内容 . 在删除了100万个文件后,我检查了旧的仓库 . 这是基础 .

The problem:

为了替换我们当前“破损”的仓库,我需要确保每次提交都在git迁移之后完成,将迁移到新的仓库 .

我试图挑选提交,但看起来,我将失去历史,因为它只保留合并提交的差异 .

The question is:

如何以一种分支和合并提交的方式将提交(从旧的repo,在特定提交之后)迁移到新的repo,并且所有的历史记录也将被复制?


版权声明:本文为weixin_39878698原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。