恢复git项目丢失的svn历史记录

时间:2018-11-12 15:52:15

标签: git svn git-svn

我有一个项目,该项目在一段时间前已从SVN迁移到git。

好。尚未真正迁移。上一个SVN版本已复制到初始git commit中。因此,基本上所有的SVN历史都被压缩到第一个git commit中。

现在许多提交已添加到git存储库中。

有没有一种方法可以将新的git commit重新建立到正确转换的git repo上?这样我们又有了完整的历史记录?

编辑:

我现在有两个git分支,一个具有所有旧历史记录(old),另一个具有所有新历史记录(new)。 old的最后一次提交和new的第一次提交之间没有区别。如何将这些历史合并为一个?

1 个答案:

答案 0 :(得分:1)

确定一点功夫。首先,正确地将svn repo迁移到git repo中。然后将您之前从svn创建的git repo(从现在开始,是bad-remote)添加为远程。从中获取时,您将能够从远程查看远程分支。然后在此存储库上的新svn分支上重新设置(或选择樱桃选择,如果认为还可以的话)在远程处理上所做的工作。

git rebase --onto svn-full-history svn-short-history-first-revision-id svn-short-with-git-only-commits

那应该将所有仅git的更改应用到完整的svn分支上。