将一个特定的 svn 分支单独克隆到 git 以及该分支的版本历史

Clone a specific svn branch alone into git with the version history for that branch alone

我有一个带有主干和多个分支的大型 svn 存储库。我想克隆一个特定的分支,将最近的分支单独克隆到 git 存储库中。我不想要整个 svn 存储库的修订历史,而只是从创建分支时开始。我的 svn repo 有一个标准的结构,比如分支、标签和主干。我尝试使用类似于

的命令克隆特定的 repo
git svn clone https://{path to SVN repo}/branches/{my branch name}  

这行得通,但考虑到我的存储库有多大,如果我不停地离开我的机器 运行,这个过程至少需要一周的时间。我认为这是因为 GIT 试图从第一次提交到回购中获取版本历史记录。我想检查是否可以仅使用该分支的版本历史将一个分支克隆到 GIT 中?很抱歉问题很长,如有任何帮助,我们将不胜感激。

当我使用 --single-branch 命令尝试解决方案时,出现未知命令错误。我假设因为我使用的是 GIT-SVN 网桥,可能会有不同的命令?

您可以使用 -r <arg>, --revision <arg>

限制历史记录的深度

我最终通过让 git 认为远程分支是我的主干来做到这一点。这样,我就可以创建仅包含来自该分支的修订历史记录的回购协议。

git svn clone -T branches/somefeature http://example.com/PROJECT

我用了下面的URL作为参考

https://gist.github.com/trodrigues/1023167