Lee*_*ton 2 svn git version-control git-svn
我正在尝试将现有的svn存储库移动到git.我们不需要在两者之间进行任何同步(所以没有git svn fetches或dcommits) - 我们只是移动过来就是这样.
我发出此命令来创建git存储库:
git svn clone -s https://server/repos/my_repo
Run Code Online (Sandbox Code Playgroud)
这很好.但是,当我cd进入新my_repo目录时,其中的文件是其中一个分支(不是主干)的一部分.
做一个git branches -a收益率:
* master
modelExperimentalTrunk
modelExperimentalTrunk@719
dRefactoring
reorganise
stableV396
tags/v1.0
trunk
Run Code Online (Sandbox Code Playgroud)
我在主分支上,但是我的沙箱中的文件实际上来自dRefactoring分支(我们较为模糊的分支之一).
问题:
master分支机构没有连接trunk?trunk?或者可以在git svn clone舞台上完成吗?git svn可以创建一个--bare存储库?将主分支重新连接到主干很容易,只需运行:
git checkout master
git reset --hard trunk
Run Code Online (Sandbox Code Playgroud)
这将切换到主分支(如果不是这种情况)并将其重置并将工作树重置为主干分支的状态.在此之后,您可以安全地删除主干分支.
git-svn不支持开箱即用的裸存储库.阅读http://gsocblog.jsharpe.net/archives/12了解更多详情.但我不认为您需要这个复杂的解决方案,因为您只想对SVN存储库进行一次导入.
因此,您可以创建已经存在的git存储库的裸克隆并进行设置.