如何使用git-svn重新获取新指定分支的修订版

Bra*_*ley 6 git git-svn

我已经从SVN获得了整个存储库,直到修订版15000.我意识到我在另一个地方藏了一个额外的分支.有没有办法用这个新分支的位置更新.git/config文件,并只重新获取与该分支有关的修订?

jam*_*san 11

您可以在文件部分添加其他branches条目.之后,运行应该删除额外的修订.svn-remote.git/configgit svn fetch


如果我理解正确,您可以强制git-svn重新扫描旧版本的分支,方法是删除(或更改)该max-branchesRev.git/svn/.metadatagit svn fetch再次运行.如果更改行而不是删除它,那么您将希望在创建分支之前将其设置为更早版本.然后它会在那之后重新扫描分支以进行所有修订.


我可能应该git svn reset先走,而不是搞乱.git/svn/.metadata.如果以下不起作用,那么我就没有想法了.:)

# Find the svn revision git knows about that's just previous (or close to)
# the revision which created the branch
$ git svn reset -r $foundSvnRev
$ git svn fetch
$ git reset --hard $remoteBranch
Run Code Online (Sandbox Code Playgroud)

然后你应该能够git svn正常使用.


Ada*_*ruk 0

假设这只是同一存储库中的另一个位置,您可以简单地通过 --branch 参数指定。它将忽略已经获取的任何内容。

如果它是另一个 SVN 存储库,您可以设置另一个 SVN 远程并从那里获取。