2011-09-21 82 views
4

我在一个中央SVN仓库的顶部使用GIT。 SVN仓库只包含主干,没有标签和分支。我之前做的是使用git svn将远程存储库克隆到我的本地git工作区,我是唯一一个开发人员,所以一切正常。如何为svn仓库创建git远程分支

现在,很少有开发者进来了,我们应该在这个svn仓库上工作,我想为Subversion主干创建远程git分支,这样所有的开发人员都可以在这些git分支上一起工作。我不想创建颠覆分支,因为它们太重了。但做了一些搜索后,似乎git svn不支持这个功能,或者我错过了什么?

我一直在想,让我的git本地分支远程与其他开发人员共享,但不知道这是否也可以。

+0

你不需要做任何事情来让你的git分支可以被其他开发者用作遥控器 - 其他开发者只需要安装git并且可以访问(通过一些git支持的协议)到你的仓库。当他们克隆你的存储库时,你的分支机构被设置在'remotes /'下,他们可以检查他们自己的分支机构的本地副本。 –

+0

为什么开发人员只是制作svn克隆呢?他们可以在自己的内部分支上工作,完成后他们只需将更改提交给svn。你真的想做一个中央git回购? –

+0

@ the.malkolm是的,我确实需要这样做,因为其中有几个人在一个功能上一起工作,我不希望他们直接通过SVN协作。 – asticx

回答

0

问题在于git和svn如何保留它们的历史之间的差异。 Subversion假定所有的开发人员协调都是通过中央存储库进行的,而git假定每个存储库都将独立地组装变更集。你和你的队友将能够通过git交换分支,但是当需要同步最终结果时,你会遇到问题。这就是为什么git-svn没有明确支持这个功能。

我从您的意见中注意到,您不希望您的开发人员直接与SVN合作进行协作......我相信您有这方面的理由,但意识到这与git-svn的设计背道而驰。 git-svn最好被认为是Subversion客户端,而不是git仓库网络和中央SVN仓库之间的桥梁。你可能想考虑让你的团队在Subversion中创建共享工作分支。

3

我发现如何实现,这里有很大的描述:part 1part2

我需要一些步骤来设置的,但随后成功地工作。你可以在git仓库之间自由地交换提交信息,并且同步它们中的每一个与SVN仓库(在两个方向上)。

+0

这看起来很有趣。我会用我们的回购给我们一个旋风......如果它有效,我会投票给我,让你失望! –

相关问题