【问题标题】:Updating a git mirror of an SVN repository更新 SVN 存储库的 git 镜像
【发布时间】:2012-06-04 19:03:59
【问题描述】:

我通过以下方式创建了一个 SVN 存储库的 git 镜像:

  • 在 github 上创建一个新的 repo
  • mkdir 镜像 && cd 镜像
  • git svn init [svn url]
  • git svn fetch -rHEAD
  • git remote add origin [github url]
  • git svn rebase
  • git push origin master

这很好用,我可以简单地更新它:

  • git svn rebase
  • git push origin master

但是,如果我移动到另一台计算机并想要更新它,我尝试了:

  • git clone [github url]
  • git svn init [svn url]
  • git svn fetch -rHEAD
  • git remote add origin [github url]
  • git svn rebase

但我明白了:

“无法从工作树历史中确定上游 SVN 信息”

谁能解释一下正确的做法?

【问题讨论】:

  • 其实你只能将svn repo的主干分支推送到git的master分支,问题是如何将所有svn分支推送到远程git repo?

标签: git git-svn


【解决方案1】:

我也有同样的需求,最终在这里找到了一个例子:

http://rip747.wordpress.com/2009/06/17/reviving-a-git-svn-clone/

根据您的问题回答:

git clone [github url]
cd repo
git svn init [svn url]
git update-ref refs/remotes/git-svn refs/remotes/origin/master
git svn rebase

【讨论】:

  • 嗯,我收到一个错误“无法从工作树历史记录中确定上游 SVN 信息”
  • 通过将/trunk附加到svn url解决
  • 不用将/trunk附加到url,您可以使用标准布局初始化git svn repo,即-s--stdlayout
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-01-17
  • 2011-10-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-16
相关资源
最近更新 更多