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