如何复制git svn克隆存储库,使git svn dcommit仍然工作
我有一个相当大的svn集中存储库,我们与我的团队一起使用。现在我想在本地使用git(-svn),所以我制作了一个git-svn克隆。这很好,但是git svn克隆花了很长时间才完成。相比之下,git克隆通常不会花那么长时间 同事如何复制我的svn克隆,从而无需再次签出和转换整个svn历史记录?即,不与svn交互 当然,我们希望同事能够使用自己的凭据对中央svn存储库执行fetch和dcommit如何复制git svn克隆存储库,使git svn dcommit仍然工作,git,Git,我有一个相当大的svn集中存储库,我们与我的团队一起使用。现在我想在本地使用git(-svn),所以我制作了一个git-svn克隆。这很好,但是git svn克隆花了很长时间才完成。相比之下,git克隆通常不会花那么长时间 同事如何复制我的svn克隆,从而无需再次签出和转换整个svn历史记录?即,不与svn交互 当然,我们希望同事能够使用自己的凭据对中央svn存储库执行fetch和dcommit Thnx.简而言之,此程序非常脆弱,不推荐使用。请参阅第节注意事项: 为了简单和与Subversio
Thnx.简而言之,此程序非常脆弱,不推荐使用。请参阅第节注意事项: 为了简单和与Subversion的互操作,建议所有git svn用户直接从svn服务器克隆、获取和提交数据,并避免git存储库和分支之间的所有git克隆/拉/合并/推操作。建议在git分支和用户之间交换代码的方法是git格式补丁和git am,或者只是“向SVN存储库提交数据” 因此,每个想使用
git svn
的人都应该从svn服务器克隆自己的副本
另一个解决方案是使用,它将为您提供到存储库的git桥,您可以与SVN互换使用:
SubGit是平滑、无压力的Svn到Git迁移的工具。在服务器端安装一次,并使用Subversion和Git,只要您愿意
SubGit允许用户设置双向Subversion到Git复制(可写镜像)。访问文档页面以获取更多信息
根据问题和其他答案中添加的评论: 可以(物理地)复制git存储库(或者tar/zip复制,或者如文档所说的rsync)
我测试了这个解决方案,事实上,在另一台机器上,使用该机器的svn凭据执行与svn的连接,而整个历史记录只需几秒钟即可复制。也许这个问题更适合stackoverflow?我不确定。你有什么理由不能给你的存储库加上焦油/拉链并把它交给他吗?应该行得通,但这不是OP要求的?问题是如何为多个开发人员重用单个“git svn clone”操作的结果,以便每个开发人员都可以使用自己的凭据重新设置/dcommit的基础。不是关于开发人员之间的推/拉。@JesperE引用的手册页说。。。避免所有git克隆/拉/合并/推。。。换句话说,为了避免重复使用克隆的git repo,甚至为了进一步的克隆。根据我自己的经验,我可以说,不值得违背这一警告,然后陷入难以解决的问题。SubGit解决了这个问题——所有开发人员都可以从一个git镜像进行克隆和推送。@PetrPudlák,完整目录的直接副本不会造成任何伤害。它的
git克隆
可能只会得到git
片段,而不是SVN的必要粘合剂,所以我也要避免这种情况。禁止本地人使用git
的方式交换东西,这样就不会创建SVN无法表示的东西,所有事情都通过集中式SVN服务器完成。我指的不是“git克隆”,我指的是做本地回购的物理拷贝,以避免多个“git svn克隆”的成本。