从Git克隆特定分支

39

我在Bitbucket上有一个代码库,使用的是Git

因此我的分支是:

master
develop_one
develop_two
当我使用git clone git@bitbucket.org:project/project.git命令时,我只获取了主分支代码,但我需要克隆/拉取develop_one分支代码,那么如何才能只克隆/拉取develop_one分支的代码呢? 注意:其他分支(develop_one,develop_two)尚未合并到主分支中,直到功能实际完成之前都不想合并,因此希望只获取/克隆/拉取特定分支的代码。

3
可能是Clone only one branch的重复问题。 - RyPeck
澄清一下 - 你是想克隆还是从一个分支拉取?这是两个不同的问题。 - RyPeck
可能是如何在Git中克隆单个分支?的重复问题。 - Jon Schneider
2个回答

74

尝试:

git clone git@bitbucket.org:project/project.git -b develop_one --single-branch

对于已克隆的存储库,请使用:

git fetch
git checkout develop_one
# Or more specific:
git checkout --track -b develop_one

这将追踪来自远程的develop_one分支。


当我执行你提到的命令时,会出现error:unknown option single-branch的错误。请问你使用的是哪个版本的git? - Anshul Goyal
git --version 返回 git version 1.8.4.2 (我看只有一个补丁版本落后) - tombruijn
3
好的。 --single-branch 命令是在 Git 版本 1.7.10 中引入的,而我使用的是 1.7.9.5 版本。这真是个特例 :) - Anshul Goyal

11

此外,为了补充@tomrbrujin的回答,您可以在clone命令中指定本地目标目录的名称,如下所示:

git clone https://github.com/example/example1.git -b branch_name --single-branch local_name

最后一个传递的参数local_name将创建并命名克隆的远程目录的本地副本为"local_name"。

否则,本地目录名称仅会反映存储库名称,在此处将是:example


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接