gpt4 book ai didi

git svn clone 创建空的 git 存储库?

转载 作者:太空狗 更新时间:2023-10-29 14:32:52 25 4
gpt4 key购买 nike

我正在尝试使用此命令将最后 100 个修订从 SVN 存储库提取到本地 git 存储库(在 Windows 上)。

git svn clone http://... -r 100

出于某种原因,除了 .git 文件夹之外, checkout 结果是空的。

但如果没有 -r 参数,它工作正常(尽管从一开始就检查所有内容)。

有人知道发生了什么吗?

谢谢!

最佳答案

对于 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.

在您的情况下,您需要找到 SVN 存储库的最新修订版,然后从中减去 100 以找到克隆的起始修订版。您还应该将 HEAD 明确定义为最终修订版(因为也可以只克隆修订历史的一个子集)。

所以在你的情况下,计算出起始修订号是什么($rev)并运行如下命令:

git svn clone -r $rev:HEAD http://...

或者如果您只想要最新的修订而不获取任何修订历史:

git svn clone -r HEAD http://...

注意:您还可以使用 -s 选项为您的 SVN 存储库指定标准的主干/分支/标签布局,但是这只有在您克隆整个存储库历史时才有意义。使用 SVN 分支时,我发现从您感兴趣的分支开始克隆存储库更有效。例如:

git svn clone -r HEAD http://.../branches/mybranch

关于git svn clone 创建空的 git 存储库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21457212/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com