与`git push --mirror`相反?我如何收回我的回购?

Dan*_*ark 6 git pull

git push --mirror将备份副本制作成一个简单的回购,我取得了巨大的成功.但是在SO和其他地方搜索之后,我找不到用所有分支在本地克隆该东西的方法.我不想使用,git clone因为我不希望我的本地回购了解裸机.如果我使用git pull它只会降低HEAD分支.

猜测:

git pull /data/Dropbox/backup/that_stuff.git *
Run Code Online (Sandbox Code Playgroud)

当然,让我无处可去.

如何让所有分支机构重新获得整个回购?我意识到我可能只是将裸仓库复制到我的.git目录,但这似乎是一个坏主意.

Von*_*onC 2

尝试git fetch代替git pull

由于要获取分支并将其合并到本地分支,因此尝试将所有远程分支合并到本地分支git pull没有多大意义。

$ git fetch a-repo_url
Run Code Online (Sandbox Code Playgroud)

上面的命令从远程refs/heads/命名空间复制所有分支并将它们存储到本地refs/remotes/remoteRpo/命名空间,除非该branch.<name>.fetch选项用于指定非默认引用规范。
尝试:

$ git fetch a-repo-url +refs/heads/*:refs/heads/*
Run Code Online (Sandbox Code Playgroud)

可以强制获取所有分支的所有头。
看到这个SO问题


OP yar报道:

git pull /data/Dropbox/backup/mjdj.git/ +refs/heads/*:refs/heads/*
Run Code Online (Sandbox Code Playgroud)

作品。

  • 完全。这就是这些歌曲的目的。 (2认同)