我在一个集中式SVN存储库上使用GIT。 SVN存储库仅包含主干,没有标签和分支。我之前做的是使用git svn将远程存储库克隆到我的本地git工作区,我是唯一一个开发它的工具,所以一切运行良好。
现在,几乎没有更多的开发人员加入,我们应该在这个svn存储库上工作,我想为subversion trunk创建远程git分支,以便所有开发人员可以在这些git分支上一起工作。我不想创建subversion分支,因为它们太重了。但经过一些搜索,似乎git svn不支持这个功能,或者我错过了什么?
我一直在考虑让我的git本地分支远程与其他开发人员共享,但不确定这是否有效。
答案 0 :(得分:3)
我在这里找到了关于如何实现这一目标的精彩描述:part 1 part2
我采取了一些措施来设置它,但随后它成功运行。您可以在git存储库之间自由交换提交,并且还可以将它们中的每一个与SVN存储库同步(在两个方向上)。
答案 1 :(得分:0)
问题在于git和svn如何保留其历史之间的差异。 Subversion假设所有开发人员协调都通过中央存储库进行,而git假定每个存储库将独立地组装变更集。你和你的队友将能够通过git交换分支,但是当需要同步最终结果时,你将遇到问题。这就是为什么git-svn没有明确支持这个功能的原因。
我从你的评论中注意到,你不希望你的开发人员直接使用SVN进行协作......我确信你有理由这样做,但是意识到这与git-svn的设计背道而驰。 git-svn最好被认为是一个Subversion客户端,而不是git存储库网络和中央SVN存储库之间的桥梁。您可能需要考虑允许您的团队在Subversion中创建共享工作分支。