git svn克隆是否创建空git存储库?
我正试图使用这个命令将SVN repo的最后100个版本拉入本地git repo(在Windows上) git-svn克隆http://... -r 100 出于某种原因,结果签出是空的,而不是.git文件夹 但是如果没有-r参数,它工作得很好(尽管从时间的黎明开始检查所有内容) 有人知道发生了什么吗git svn克隆是否创建空git存储库?,git,svn,clone,git-svn,Git,Svn,Clone,Git Svn,我正试图使用这个命令将SVN repo的最后100个版本拉入本地git repo(在Windows上) git-svn克隆http://... -r 100 出于某种原因,结果签出是空的,而不是.git文件夹 但是如果没有-r参数,它工作得很好(尽管从时间的黎明开始检查所有内容) 有人知道发生了什么吗 谢谢 建议使用以下命令: git svn clone -s -r rev:HEAD your_svn_server -s很重要,因为它遵循svn推荐的存储库布局(通常是标记、主干和分支)。对于g
谢谢 建议使用以下命令:
git svn clone -s -r rev:HEAD your_svn_server
-s很重要,因为它遵循svn推荐的存储库布局(通常是标记、主干和分支)。对于git svn,-r参数指的是svn中的版本号,而不是所需的版本号 此摘录自'git help svn'命令,显示了对-r选项的以下描述:
-r <arg>, --revision <arg>
Used with the fetch command.
This allows revision ranges for partial/cauterized history to be supported. $NUMBER, $NUMBER1:$NUMBER2 (numeric ranges),
$NUMBER:HEAD, and BASE:$NUMBER are all supported.
This can allow you to make partial mirrors when running fetch; but is generally not recommended because history will be skipped
and lost.
或者,如果您只需要最新版本,而不需要获取任何版本历史记录:
git svn clone -r HEAD http://...
注意:您还可以使用-s选项为您的SVN存储库指定标准的主干/分支/标记布局,但是这只有在克隆整个存储库历史时才有意义。在使用SVN分支时,我发现从您感兴趣的分支开始克隆存储库更有效。例如:
git svn clone -r HEAD http://.../branches/mybranch
我假设在
svn
中,-r
不是“最后100次修订”,而是修订号100。您可以检查当前修订号是多少,减去100,然后签出-r(该编号):HEAD
。不过,一般不建议使用局部镜像。为了记录在案,我也遇到了类似的问题,当使用-r 100
或-r 100:HEAD
没有帮助时,-r HEAD
出于某种原因使用了这个技巧。谢谢
git svn clone -r HEAD http://.../branches/mybranch