与多个开发人员一起使用git和svn

与多个开发人员一起使用git和svn,svn,git,version-control,git-svn,Svn,Git,Version Control,Git Svn,我有一个svn存储库(如果重要的话,没有TLB结构),我想与git一起使用。我可以做一个git svn克隆,在git repo中处理我的更改,并在完成后提交回svn repo。在这之前一切都很清楚 我不知道如何将此工作流模型扩展到多个开发人员。我需要我的开发团队能够处理一个git-repo(从svn-repo克隆的一个),对于我们所有人来说,它的行为应该像一个普通的git-repo。在某个时候,任何开发人员都必须能够提交回svn回购协议。这可能吗?谢谢。我们也遇到了同样的问题,但我们没有找到解决

我有一个svn存储库(如果重要的话,没有TLB结构),我想与git一起使用。我可以做一个git svn克隆,在git repo中处理我的更改,并在完成后提交回svn repo。在这之前一切都很清楚


我不知道如何将此工作流模型扩展到多个开发人员。我需要我的开发团队能够处理一个git-repo(从svn-repo克隆的一个),对于我们所有人来说,它的行为应该像一个普通的git-repo。在某个时候,任何开发人员都必须能够提交回svn回购协议。这可能吗?谢谢。

我们也遇到了同样的问题,但我们没有找到解决方法,所以我们切换到完全git。 如果只有一家回购协议与svn沟通,一切都会顺利进行,但除此之外,情况会变得一团糟。发生的是git svn分支有自己的生命

你可以试试这个
-创建以从svn回购git1和git2。
-更改git 1并向svn提交数据
-把它拉到git2中,做一个git svn重基,看看发生了什么

当您尝试在git2中拉取它时,您必须创建一个新的分支,该分支从svn分支开始,但它不会跟踪它。 所以git2基本上有两个分支,SVN1和git1。因此,在能够将任何东西从git2推送到svn之前,您必须将git1分支中的第一个分支合并到svn分支(即使它们是相同的)。 (我可能错了,因为我刚才已经做了,也许有解决办法)

无论如何,我不得不这么做几次,因为当我们从“git svn”切换到“git”时,我们在每个人完成向svn提交他们自己的东西之前创建了中心git存储库。然后我不得不从svn那里挑选新的东西,把它们放回新的git回购协议中,那真是一团糟


因此,要么只使用git,要么只将一个回购连接到svn。

我也在考虑这个问题,我推荐的方法是

  • 使用master与svn存储库同步,并使用特殊的分支名称跟踪其他svn分支,如svn中的walko分支,然后在git中,它就是walko svn
  • 使用其他名称与git存储库同步

(来源:)

那么工作方式是

  • 所有设计器通过git svn clone…(使用主svn和分支svn名称)从svn存储库同步
  • 所有设计器也都可以同步到git存储库,但要保留svn的上述分支名称
  • 所有的设计人员大多使用git存储库来协作开发,比如topicbranch
  • 当主题分支看起来不错时,每个设计人员都可以重新设置主分支的基础,这个设计人员应该向svn存储库提交数据,在提交之后(获取git svn id),它们也会被推回到git存储库。(如果设置svn触发器,则可以自动完成此作业)
  • 然后git存储库始终与主分支上的svn repo同步
总结

  • 使用git存储库在非svn分支(如master)上协作
  • 从非svn分支重新设置回svn存储库
  • 始终保持git repo(主)与svn repo同步

通过图片查看我的博客

我们的团队遇到了完全相同的问题,经过一点实验,我们成功地设计出了一个双向的git Subversion桥接器,它可以同步我们团队git存储库和公司Subversion存储库之间的更改。查看或查看我的答案这也是我经验中最无问题的方法。