有没有办法克隆包含其远程存储库的git存储库?

时间:2017-02-20 14:53:10

标签: git git-svn git-clone git-remote

有没有办法使用一些 git clone / fetch 机制来保持我的克隆中的repo最新,包括所有 refs / remotes /来自远程?< / p>

这与git fetch --allgit pull --allgit svn无关。它只是将遥控器的遥控器复制到克隆中。

这样的命令会很棒:

git clone --include-remote-remotes git@linuxmachine:TheGitSvnClone

然后定期

git fetch --update-remote-remotes origin

一些细节:

遥控器有自己的名为 svn 的遥控器,它包含一些分支:

  • 参/头/主
  • 参/遥控器/ SVN /中继线
  • 参/遥控器/ SVN / BRANCH1
  • 参/遥控器/ SVN / BRANCH2

作为克隆的结果,我期待一个正常的git存储库,包括工作副本(签出文件)和以下refs:

  • 参/头/主
  • (参考文献/遥控器/来源/主)
  • 参/遥控器/ SVN /中继线
  • 参/遥控器/ SVN / BRANCH1
  • 参/遥控器/ SVN / BRANCH2

我无法使用git clone --mirror,因为这会创建一个裸存储库。

为何如此复杂?

我们公司目前正在使用svn。与此同时,我准备从svn迁移到git。

不幸的是git svn fetch永远占用我的Windows机器,因此我使用的Linux机器定期执行git svn fetch,然后使用FileZilla复制生成的git repo。

1 个答案:

答案 0 :(得分:2)

正常克隆存储库后,指示Git获取远程refs:

git config --add remote.origin.fetch '+refs/remotes/svn/*:refs/remotes/svn/*'

后续的git fetch来电将下载svn参考号。