我使用
只克隆了回购的一个分支中所述git clone -b mybranch --single-branch git://sub.domain.com/repo.git
现在我想获得整个回购,包括所有分支到这个位置。
我该怎么做?
答案 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