有没有办法克隆 git 存储库,包括它的远程存储库?

Is there a way to clone a git repository including its remote repositories?

有没有办法使用一些 git 克隆/获取 机制来使我的克隆中的存储库保持最新,包括所有 refs/remotes/ 来自远程?

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

像这样的命令会很棒:

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

然后定期

git fetch --update-remote-remotes origin

一些细节:

远程有自己的名为 svn 的远程,其中包含一些分支:

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

我不能使用 git clone --mirror 因为那会创建一个裸存储库。

为什么这么复杂?

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

不幸的是,git svn fetch 在我的 windows 机器上需要很长时间,所以我使用 linux 机器定期执行 git svn fetch 然后我复制结果 git 使用 FileZilla 的回购协议。

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

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

后续 git fetch 调用将下载 svn 参考文献。