如何使用git clone --depth 1检出远程分支?

时间:2014-06-08 15:06:38

标签: git

我下载了一个大型存储库的最新版本,我需要获取一个分支的最新版本,以便我可以对其进行测试。

我该怎么做?

当我做git clone --depth 1 url时,我得到了master的最后修订版,而且这个分支似乎不存在?

petanb@petrbena:~/Documents/mh$ git checkout flaggedrevs
error: pathspec 'flaggedrevs' did not match any file(s) known to git.

2 个答案:

答案 0 :(得分:10)

git clone --depth 1 implicitly carries一个--single-branch选项,默认为主分支,默认为origin/master

如果要克隆其他分支,请告诉git要克隆哪个分支。

git clone --depth 1 --branch <branch> url

答案 1 :(得分:5)

您可以直接获取所需内容:

git fetch --depth 1 origin flaggedrevs:flaggedrevs  #  `origin` can be a URL too

这将从您获取的内容中创建一个正常(尽管很浅)的分支。为了获得更传统的结果,git fetch --depth 1 origin flaggedrevs:refs/remotes/origin/flaggedrevs。 &#34;将原籍的flaggedrev复制到我的refs / remotes / origin / flaggedrevs&#34;。

运行.git / config并查看它,或者说git config --get-regexp fetch。如果您没有明确告诉它要取的内容,那就是它取出的内容。