繁体   English   中英

为什么git-svn clone将'master'设置为随机分支?

[英]Why does git-svn clone set 'master' to a random branch?

我正在尝试将现有的svn存储库移至git。 我们不需要在两者之间进行任何同步(因此无需git svn fetch es或dcommit s)-我们只是在移动,仅此而已。

我发出了以下命令来创建git存储库:

git svn clone -s https://server/repos/my_repo

这样很好。 然而,当我cd “d到新my_repo目录,即是在那里的文件是分支(不是主干)的一个组成部分。

进行git branches -a产生:

* master
  modelExperimentalTrunk
  modelExperimentalTrunk@719
  dRefactoring
  reorganise
  stableV396
  tags/v1.0
  trunk

我在master分支上,但是沙箱中的文件实际上来自dRefactoring分支(我们比较晦涩的分支之一)。

问题:

  • 为什么master分支未连接到trunk
  • 有没有办法将其重新连接到trunk 还是可以在git svn clone阶段完成?
  • 另外,鉴于这将在服务器上进行, git svn有什么方法可以创建--bare存储库?

将master分支重新连接到中继很容易,只需运行:

git checkout master
git reset --hard trunk

这将切换到主分支(如果不是这种情况),并将其重置,并将工作树重置为主干分支的状态。 之后,您可以安全地删除中继分支。

git-svn不支持裸仓库。 阅读http://gsocblog.jsharpe.net/archives/12了解更多详细信息。 但是我认为您不需要这种复杂的解决方案,因为您只想一次导入SVN存储库。

因此,您可以仅创建一个已经存在的git存储库的裸克隆,然后进行设置。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM