我正在尝试对我的repo执行git svn fetch
,以执行git rebase -i
。我正在本地执行fetch,为什么速度这么慢?创建1000个修订版本真的需要那么长时间吗?似乎这个过程只是在一个文件上"睡眠",然后突然出现了一大堆活动。
linux: 45 seconds
windows (cygwin): 25 minutes
我经过相同的尝试后,发现在Linux上比在Windows的Cygwin上运行更快。建议你也可以尝试一下。
git svn clone
命令(从本地svn repo克隆)。Git版本:Win: 1.8.3.msysgit.0,Linux: 1.8.3.2。与Windows相比,Linux速度非常快!我没有预料到这一点。 - Cristian Diaconescugit svn clone
,然后将其克隆到cygwin中(并带上git-svn配置),这样可以节省我几个小时的时间。 - Jay Kgit svn fetch(和clone)需要处理大量工作,并创建整个存储库,与svn通信并在本地计算机上创建git存储库。您可以在同一台服务器上执行此操作,其中包含svn服务器(这是我认为您所指的“本地”),但是git svn客户端仍然必须处理大量修订版本,逐个处理它们并创建存储库。1000个修订版本是很多的,可能需要一段时间。请耐心等待并让其完成工作。当您在存储库上工作时,请确保经常提取/重新基于最新版。
对于Windows来说,这个问题仍然存在:拉取/获取卡住了,什么都没有发生。
除了之前所有的回答,我可以建议在您的Windows机器上使用WSL。您将惊喜地发现fetch
的速度非常快。它像魔法一样工作。
最初的回答:
git svn fetch
会从svn仓库中获取修订版本。即使你已经获取了所有的修订版本,它也会检查svn仓库以查看是否已经获取了所有修订版本。 - Tyler