我们有2-3个小分队,有2-3人。我们都将git用于本地,svn用于中心存储库,git-svn获得同步。这一直都是有效的,除非我们希望在团队之间共享代码。
因此,我们已经尝试了git拉,这造成了很多冲突,它没有检测到我们在同一棵树上。它获取所有的变化(克隆,然后拉),当然,我不想克隆完全回购。每次我都想分享。
请建议一个更好的流量。
发布于 2011-01-10 09:42:07
指定一名团队成员为“git集线器”,他/她与SVN服务器同步,其他团队成员与他们交互,而不是直接与SVN服务器进行交互。这样,git就会知道所有的团队成员都在同一棵树上。
发布于 2011-12-09 04:05:03
对于您来说,SubGit似乎是一个很好的替代方案。
SubGit是服务器端的解决方案,它允许Git访问Subversion存储库,反之亦然.这意味着您可以只使用Git存储库,使用您选择的Git客户端。
您需要将SubGit安装到Subversion存储库一次。在此之后,SubGit立即将每个svn commit上的svn修订转换为git提交,在每个git push上将git提交转换为svn修订。
SubGit是封闭源码软件,但它对开源项目是免费的。有关更多信息,请参考SubGit文档化。
发布于 2011-01-10 11:49:34
为了增加Chris Leaver的答案,您需要一个中心点来使用svn回购来重新提交/重基。
这并不否认Git的“分散”方面,它只允许每个人使用作为远程存储库之一的“中心”引用回购(即与svn同步)。
没有一种简单的方法可以避免复制来自(可能是巨大的) svn回购的所有内容的负担,因为由此产生的不能将Git repo拆分为子模块。。
这至少留下一个“解决办法”,这将涉及:
它显然需要自动化,但是有一个团队将专注于其中一个git repos作为其“中心”回购,负责SVN同步的人员将使用来自主(和隐藏) Git<=>SVN回购的补丁更新那些较小的Git repos。
https://stackoverflow.com/questions/4645337
复制相似问题