我从SVN获取了一个完整的存储库,直到修订版15000.我意识到我在另一个地方藏了一个额外的分支。有没有办法用这个新分支的位置更新.git / config文件,只重新获取与该分支有关的修订?
答案 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远程并从那里获取。