克隆一个分支后,如何克隆整个Github仓库?

时间:2015-05-06 14:04:22

标签: git github git-clone

我使用

只克隆了回购的一个分支
  

git clone -b mybranch --single-branch git://sub.domain.com/repo.git

,如Clone only one branch

中所述

现在我想获得整个回购,包括所有分支到这个位置。

我该怎么做?

3 个答案:

答案 0 :(得分:2)

最简单的方法是删除该位置的当前文件夹,并在没有所有标志的情况下执行正常的git clone:

git clone git://sub.domain.com/repo.git

答案 1 :(得分:2)

当您使用--single-branch选项时,最终会在.git/config中找到名为remote的配置,如下所示:

[remote "origin"]
    url = https://github.com/project/repo.git
    fetch = +refs/heads/some_branch:refs/remotes/origin/some_branch

您可以编辑配置以将fetch配置重置为默认值:

git config remote.origin.fetch '+refs/heads/*:refs/remotes/origin/*'

然后:

git remote update

现在你拥有整个存储库。

答案 2 :(得分:0)

你可以做一个正常的git clone,或者你可以做一个完整的复制/镜像完全,就像你正在克隆的回购

git clone --bare https://github.com/project/example.git

这使得复制完全复制所有相同的refs / notes /但没有远程跟踪。如果您也想要,那么您可以:

git clone --mirror https://github.com/project/example.git

主要differences--mirror设置远程跟踪,无论您正在镜像的回购中的哪些更改都会反映在该镜像副本中,如果需要,它将覆盖它自己的引用,这非常适合制作回购的多个精确副本。

More info on duplicating/mirroring a repository here以及how to properly mirror a git repository