情况
我有一个Git仓库和一个SVN仓库,它们都保存着相同的源代码但是不同的提交历史。Git仓库有很多小的、注释良好的提交...而SVN仓库有一些巨大的提交,注释为"许多东西"。
这两个提交系列遵循了相同的代码更改,并且大致等价。
期望结果
我想切换到使用Git-SVN,不会失去当前Git仓库的详细历史记录。这应该通过将Git仓库的历史记录“嫁接”到项目的一个SVN分支上(从我真正开始使用Git的那个点开始分支)来完成。
为什么要这样做?(历史)
一段时间以前,我开始尝试Git。我首先在我正在使用SVN控制的项目中设置了一个Git仓库。通过一些配置,我同时在相同的源代码上使用Git和SVN。
对我来说,这是学习和玩弄Git的好方法,同时还有SVN的安全网。基本上,这是一个带有真实数据的沙盒。我没有时间真正地学习Git,但我真的想把它玩弄一下。这对我来说实际上是学习Git的一种很好的方式。
起初,在进行一些编辑后,我会先提交到SVN,然后再提交到Git...然后玩弄Git,知道我的更改安全地保存在SVN中。很快,我提交到Git的频率比提交到SVN的还要高...现在,提交到SVN变成了我必须做的烦人的琐事。
当学习git revert
和svn revert
之间的区别时,我非常高兴我一直在检入SVN仓库。我几乎失去了几周的工作,认为这两个命令的功能相同。
我现在知道了Git-SVN的美妙,并且正在其他几个项目中愉快地使用它。
我开始时完全意识到可能会失去我的Git仓库,不得不“正确”地使用git-svn init
设置一个新的仓库......但是现在,我确信有一种方法可以将Git历史记录“黑进”SVN。