【发布时间】:2008-09-22 20:24:16
【问题描述】:
情况
我有一个 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...现在,SVN 提交已成为我有时不得不做的烦人的家务活。
当了解git revert 和svn revert 之间的区别时,我非常很高兴我一直在检查 SVN 存储库。假设两者的工作方式相同,我几乎失去了几个星期的工作。
我现在知道 Git-SVN 的荣耀,并且在其他几个项目中愉快地使用它。
当我开始时我完全意识到我可能会丢失我的 Git 存储库并且必须使用git-svn init '正确地'设置一个新的...但是现在已经使用 Git 一段时间了,我确信有一些黑客攻击的方法SVN 中的 Git 历史记录。
【问题讨论】: