Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何复制git svn克隆存储库,使git svn dcommit仍然工作_Git - Fatal编程技术网

如何复制git svn克隆存储库,使git svn dcommit仍然工作

如何复制git svn克隆存储库,使git svn dcommit仍然工作,git,Git,我有一个相当大的svn集中存储库,我们与我的团队一起使用。现在我想在本地使用git(-svn),所以我制作了一个git-svn克隆。这很好,但是git svn克隆花了很长时间才完成。相比之下,git克隆通常不会花那么长时间 同事如何复制我的svn克隆,从而无需再次签出和转换整个svn历史记录?即,不与svn交互 当然,我们希望同事能够使用自己的凭据对中央svn存储库执行fetch和dcommit Thnx.简而言之,此程序非常脆弱,不推荐使用。请参阅第节注意事项: 为了简单和与Subversio

我有一个相当大的svn集中存储库,我们与我的团队一起使用。现在我想在本地使用git(-svn),所以我制作了一个git-svn克隆。这很好,但是git svn克隆花了很长时间才完成。相比之下,git克隆通常不会花那么长时间

同事如何复制我的svn克隆,从而无需再次签出和转换整个svn历史记录?即,不与svn交互

当然,我们希望同事能够使用自己的凭据对中央svn存储库执行fetch和dcommit


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克隆”的成本。