检查--follow-parent
标志:
git svn clone --follow-parent https://path.to/svnroot/repo/tags/0.12
编辑:
但是请注意,这git svn
只会看到克隆目录上下文中的内容;svn-tagging 通常涉及将一个目录复制到另一个位置,因此您需要整个目录树(包含“trunk”和最终的“tagX”director)才能有足够的上下文让 git 工作。这样做的原因是,git 将拒绝将任何内容从/复制到 git-repository 本身之外的路径(这是有道理的)。svn 可以查看整个历史记录,因为它确实具有完整的上下文(在服务器上,即使您在本地机器上只有部分结帐)
因此,为了将完整的历史记录保存到您的 git svn clone 中,您可能确实需要克隆整个项目(即至少包含主干和标签目录的目录)。
所以继续的方法是:
做一个完整git svn clone
的 svn 存储库,指定 trunk/tags/branches 目录 (--trunk
和--tags
flags--branches
如果你有一些特殊设置或使用--stdlayout
如果你的 repo 组织在标准 /trunk、/tags/...、/branches/ ... 方法)
这将为您提供一个带有许多 git 分支和 git 标签的 git 存储库,您可以在其中删除所有不需要的分支/标签(或者只是不将它们推送到服务器)