仅克隆最新快照时切换分支

  • 本文关键字:分支 快照 最新 git
  • 更新时间 :
  • 英文 :


由于回购规模很大,我只克隆了它的最新快照:

git clone --depth=1 <url>

此命令仅下载master分支的最新版本。所以我取了我需要的分支:

git fetch --depth=1 origing testing

有这样的输出:

remote: Enumerating objects: 13, done.
remote: Counting objects: 100% (13/13), done.
remote: Compressing objects: 100% (8/8), done.
remote: Total 8 (delta 5), reused 0 (delta 0)
Unpacking objects: 100% (8/8), done.
From gitlab.com:lambda-hse/tatlin-hse/gotatlin
* branch            testing    -> FETCH_HEAD

问题是当我这样做时(为了更改我所在的分支(:

git checkout testing

什么也没发生,repo仍在master分支上。如果不完全克隆回购,我如何克服这个问题?

正如您在输出中可能注意到的,git获取了分支的sha1,但没有在本地创建引用,它只是在FETCH_HEAD 中

* branch            testing    -> FETCH_HEAD

从那时起,如果你做git log FETCH_HEAD,你会看到你远处树枝的头。

您可以在本地重新创建分支,方法是指定目标和源,并提供完整路径:

git fetch --depth=1 origin refs/heads/testing:refs/heads/testing

然后

git checkout testing

相关内容

  • 没有找到相关文章

最新更新