我
有一个 Git 存储库和一个 SVN 存储库,它们都拥有相同的源代码但不同的提交历史。Git repo 有很多小的评论很好的提交......而 SVN repo 有一些巨大的提交,带有“很多东西”之类的评论。这两个系列的提交都遵循在代码中所做的相同更改,并且大致相同。
想要的结果
我想切换到使用 Git-SVN ,而不会丢失当前 Git 存储库的详细历史记录。这应该通过将 Git 存储库中的历史“嫁接”到项目的 SVN 分支上来完成(从我真正开始使用 Git 的那一点开始分支)。
为什么要这么做?(历史)
前段时间我开始玩 Git。我首先在一个受 SVN 控制的项目中设置了一个 Git 存储库。通过一些配置,我让 Git 和 SVN 在同一个源代码上并行工作。
这对我来说是学习和使用 Git 的好方法,同时仍然拥有 SVN 的安全网。它基本上是一个带有真实数据的沙箱。我没有时间真正学习Git,但我真的很想修补它。这对我来说实际上是一个学习 Git 的好方法。
起初,在进行了一些编辑之后,我会提交给 SVN,然后提交给 Git……然后在知道我的更改在 SVN 中安全的情况下使用 Git。很快我就比 SVN 更频繁地提交到 Git ......
当了解 和 之间的区别时git revert
,svn revert
我很高兴我一直在检查 SVN 存储库。假设两者工作相同,我几乎失去了几个星期的工作。
我现在知道 Git-SVN 的荣耀,并且在其他几个项目中愉快地使用它。当我开始时,我完全意识到我可能会丢失我的 Git 存储库,并且必须使用“正确”设置一个新的存储库git-svn init
……但是现在使用 Git 已经有一段时间了,我确信有一些方法可以破解 Git 历史进入SVN。