我有一个项目,该项目在一段时间前已从SVN迁移到git。
好。尚未真正迁移。上一个SVN版本已复制到初始git commit中。因此,基本上所有的SVN历史都被压缩到第一个git commit中。
现在许多提交已添加到git存储库中。
有没有一种方法可以将新的git commit重新建立到正确转换的git repo上?这样我们又有了完整的历史记录?
我现在有两个git分支,一个具有所有旧历史记录(old
),另一个具有所有新历史记录(new
)。 old
的最后一次提交和new
的第一次提交之间没有区别。如何将这些历史合并为一个?
答案 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分支上。