首页 > 解决方案 > 如何向迁移的 Git 存储库添加历史记录?

问题描述

我有一个 SVN 项目,其中有几年的提交历史。

然而,几年前它被迁移到了 git,通过将主干作为单个提交放入 master 从而破坏了所有历史记录。

从那时起,git repo 中添加了很多提交。

显然,现在每次执行时git blame都会停留在“初始提交”处,因此它不会为您提供所有 svn 历史记录,而这通常是我感兴趣的部分。

我随后找到了另一个 git 存储库,它具有更正常的 svn 到 git 从原始 svn 存储库迁移。然而,这个停在 svn trunk 的开头。

是否可以将这 2 个存储库连接在一起以恢复 git 存储库中的 svn 历史记录?

我担心git rebase由于主干初始提交到主控,尝试这样做会导致大量冲突。

有没有更好的方法将它们拼接在一起?

我不想要一个解决方案git subtree,比如历史记录在哈希引用处停止,然后您必须在该哈希上执行另一个 git log。git blame我需要能够将git log所有的 git 历史svn 历史放在一起。

假设最近的提交哈希值会改变是可以的。

标签: gitsvn

解决方案


推荐阅读