SVN到Git - 顺利迁移

时间:2015-05-18 19:24:28

标签: git svn version-control

我希望与团队顺利迁移到 Git ,现在我们使用 SVN

是否可以跨帖提交?

例如,员工A发送到 SVN ,之后将帖子更改为Git存储库,反之亦然。

(正如我所见: 我知道我们应该解决冲突,但是如果我们在一个回购中解决冲突,也许我们可以在另一个仓库中强制推送/重写已更改的文件(为什么不呢?)。
除了两个repos有不同的head状态(head + 2个新提交,head + 5个新提交)的情况,但这是非常罕见的情况,我计划在一个服务器上安装repos并且可能在一个帖子提交之前锁定repos另一个(在一次接收提交之后),我认为它应该工作得非常快。)

或者如果它不可能,我们可以将提交从git发布到svn(因为现在应用程序是从SVN repo构建的)。

PS:我不是超级 Git / SVN 用户,我知道最佳解决方案 - 一次性迁移到 Git ,但如果我能做到的话。
因此,如果您有类似的经历,请告知更好的方法。

2 个答案:

答案 0 :(得分:4)

有几个Git来自/来自Subversion网桥,专为您的用例而设计。其中常见的是:

  • GitHub是以Git为中心的,但提供SVN访问其repo。这与GitHub绑定,因此如果您不想使用GitHub,则不能选择。

  • SubGit免费(不是“免费软件”,但免费)用于开源和学术用途,但不用于商业用途。

我不知道能够正确满足这种需求的免费软件解决方案。

git-svn是另一种选择,但它意味着客户端:它允许您使用Git作为客户端来访问SVN存储库。典型的用例是当你进行迁移时,有些人仍然想要使用Git。它适用于这个用例。

可能会破解基于git-svn的服务器端解决方案,但我不推荐它:很可能你最终会得到一个错误的解决方案,人们会责怪Git和任何问题的迁移得到,他们想回到SVN。

答案 1 :(得分:2)

  

例如,员工A发布到SVN,之后将帖子更改为Git存储库,反之亦然。   ...
  或者如果不可能,我们可以将提交从git发布到svn(因为现在应用程序是从SVN repo构建的)。

你可以做到。 git有svn“适配器”。你只需要在命令之前添加git svn

在此处详细了解:git-svn