2010-07-06 61 views
5

我有一个svn存储库(没有TLB结构,如果它很重要),我想与git一起使用。我可以做一个git-svn克隆,处理我在git repo中的更改,并在我完成后回到svn repo。直到这一点才明确。与多个开发人员使用git和svn

我不确定如何将此工作流模型扩展到多个开发人员。我需要我的开发团队能够在单个git repo上工作(从svn repo克隆的),这应该像我们所有人的正常git回购一样。在某个时候,任何开发者都必须能够回到svn回购。这可能吗?谢谢。

回答

1

我们遇到了同样的问题,我们没有找到办法,所以我们切换到完整的git。 事情工作正常,如果只有一个回购与svn沟通,但否则这是越来越杂乱真的quicly。 git-svn分支有自己的生活

你可以试试这个
- 从svn创建回购git1和git2。
- 使混帐1的变化和dcommit使用svn
- 把它诠释GIT2,做一个混帐SVN变基,看看发生了什么事情......

当您尝试把它拉在GIT2,你必须类型创建一个新的分支,从svn开始,但它没有跟踪它。 所以git2基本上有2个分支svn one和git1。所以在能够将任何东西从git2推送到svn之前,你必须将git1分支合并为svn分支(即使它们是相同的)。 (我可能是错误的,因为我刚刚做了一些,可能有解决方案)

无论如何,我不得不这样做了几次,因为当我们从'git-svn'切换到'git' ,我们在每个人完成将自己的东西提交给svn之前创建了中央git-repository。然后,我从svn中挑选新的东西,将它们放回到新的git回购中,这真是一团糟。

所以要么只使用GIT,要么只有一个连接到svn的回购站。

+0

这是我的经验中最无问题的方法。 – 2010-07-06 18:21:35

1

我在看这个问题,以及,我推荐的方法是用SVN仓库和专用分支名称同步

  • 利用总体跟踪其他SVN分支,如在SVN walko分支,然后在Git中,它是walko-svn
  • 使用其他名称与git存储库同步。

alt text http://larrycai.files.wordpress.com/2013/02/image2.png

然后运作的方式是

  • 所有设计师通过的git - svn的克隆,从svn存储库同步...,使用分支 - svn的
  • 所有的设计师也有同步到git仓库,但保持上述分行名称为SVN
  • 所有的设计师大多使用git仓库进行合作开发,如局部分支
  • 当主题分支看起来不错时,每个设计师都可以将其重新分配给master分支,这个设计者应该将它提交到svn仓库,并且在它之后(得到 git-svn-id),它们也被推回到git-repository。 (此作业的,如果设置svn触发自动完成)
  • 然后git仓库总是与svn的同步对主分支

摘要

  • 使用git仓库对非svn的分支合作(如主)
  • 从非svn的分支变基回svn库
  • 始终保持git仓库(主)同步以svn回购

看到我的照片http://larrycaiyu.com/blog/2010/07/10/svn-git-integration-1/