如何从此设置迁移到Git(svn)

时间:2012-09-10 20:44:10

标签: git svn version-control

在工作中,我们正在寻求改善目前的工作方式,我们认为Git可以解决我们的问题。

我们当前的仓库托管在SVN中,如下所示:

MAIN ---trunk
     ---bugfix
CUSTOMER1
     ---trunk
     ---bugfix
CUSTOMER2
     ---trunk
     ---bugfix

现在来了笑话:) Customer1和2基本上都是基于MAIN,但主要项目需要自定义,他们决定将它们分成2个分支并重新编写MAIN的几个共享代码。

它已经到了你不能将MAIN合并到customer1或2.因为很多代码已被覆盖。 当我们应用新功能或错误修正时,我们必须手动编辑MAIN,customer1,customer2和EVEN的代码,在某些情况下,错误修复分支。我们花30分钟编写一个修复程序,30分钟将其复制粘贴到其他分支。

是的,我们知道这是一种完全错误的工作方式,但我们想要改变它。

我有一些不错的git知识,我知道其他几个项目就像这样工作,例如@ chiliproject。 基本上我们想要这样的设置:

MAIN --- develop
     --- feature
     --- master
     --- bugfix
    \
     customer1
           --- ...

    \ 
     customer2

可能共有3个存储库,其中客户1和2基于MAIN。当我们将新代码应用于MAIN时,我们可以简单地将其拉入customer1和customer2。 有人可以就我们如何解决这个问题提出建议吗?

此外,我尝试将远程回购添加到customer1,即远程主播MAIN。当我获取最新版本时,我得到MAIN的所有差异。显然,因为代码是非常不同的,此刻我不想合并这个。但是我想引入未来的revision1,它只包含一个hello.php的补丁。

由于

1 个答案:

答案 0 :(得分:1)

这个小教程可以帮助您进行迁移:http://git-scm.com/book/en/Git-and-Other-Systems-Migrating-to-Git

我是否仍然不知道您想要/需要什么,但仍然可能有所帮助。

我在官方Git网站http://git-scm.com/找到了它。

希望这会有所帮助。 :) (如果这属于评论那么我很抱歉,由于某些原因,我实际上无法在主要问题中发表评论。)