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

时间:2010-06-29 17:47:34

标签: git git-svn

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

2 个答案:

答案 0 :(得分:10)

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


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


我可能应该首先使用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

然后您应该能够按正常情况使用git svn

答案 1 :(得分:0)

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

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