我使用git-svn克隆了整个SVN存储库(包括所有分支)。问题是,如果我运行git branch
我没有得到任何回报。如果我运行git branch -a
,我会得到:
git-svn
我现在该怎么做才能开始使用SVN的trunk
?
编辑:回购按照标准布局进行组织,但是当我拉出时,我就是这样做的:
git svn clone http://server/repo ( without any other options )
而不喜欢
git svn clone http://server/repo/trunk
我的gitconfig看起来像这样:
[svn-remote "svn"]
url = svn_url
fetch = :refs/remotes/git-svn
答案 0 :(得分:2)
为避免完全重新停止,您只需使用以下内容更新.git/config
文件:
[svn-remote "svn"]
url = http://server.org/svn
fetch = trunk:refs/remotes/trunk
branches = branches/*:refs/remotes/*
tags = tags/*:refs/remotes/tags/*
然后删除.git/svn/.metadata
并再次运行git svn fetch
PS:这是我从Git-SVN with multiple branch locations?发现的,当我不得不处理一些非标准布局的回购时的灵感。
答案 1 :(得分:1)
克隆时必须使用-s
(标准布局)开关:
git svn -s clone http://server/repo
此开关将告诉git-svn分别从^/branches
中找到的目录^/tags
创建分支和标记。 ^/trunk
将映射到git的master
分支。
我担心,您将不得不重新克隆您的svn存储库......
答案 2 :(得分:1)
您可以使用SmartGit克隆SVN存储库。它会检测您的主干/分支/标签配置并正确配置布局,因此您不必为此烦恼。