git - `git push --mirror` 的对面?我如何取回我的 repo 协议(protocol)?

标签 git pull

我在使用 git push --mirror 将备份副本制作到裸仓库中取得了巨大成功。但是在 SO 和其他地方搜索之后,我找不到用所有分支在本地克隆东西的方法。我不想使用 git clone 因为我不想我的本地 repo 了解裸 repo 。如果我使用 git pull 它只会关闭 HEAD 分支。

猜测:

git pull /data/Dropbox/backup/that_stuff.git *

当然,我无处可去。

我如何重新获取包含所有分支的整个存储库?我意识到我可能只是将裸存储库复制到我的 .git 目录,但这似乎是个坏主意。

最佳答案

尝试 git fetch 而不是 git pull

git pull在那里获取分支并将其 merge 到本地分支,尝试将所有远程分支 merge 到本地分支没有多大意义。

$ git fetch a-repo_url

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

$ git fetch a-repo-url +refs/heads/*:refs/heads/*

可以强制获取所有分支的所有头。
看这个SO question .


OP yar报告:

git pull /data/Dropbox/backup/mjdj.git/ +refs/heads/*:refs/heads/*

有效。

关于git - `git push --mirror` 的对面?我如何取回我的 repo 协议(protocol)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2213689/

相关文章:

java - MongoDB Java 拉取

Git 错误 : cant execute git log && git diff [No such file or directory]

git - 恢复 'git push --mirror'后删除的分支

git - 在 OS/X 和 Windows 之间共享一个 git 仓库

git - 如何将新的 pull 请求附加到 github 上的现有问题?

android - 从设备中提取付费应用程序的 apk

git - 如何更改 git 存储库的获取 URL。

git - 使用 GIT 和 HG 是否有任何有害命令

git 删除重复的远程 URL

push - ZeroMQ 推/拉模式