2013-05-26 204 views
5

我使用的是使用the git-flow branching model的git回购。我已将它推送到中央存储库。一个新的开发者如何加入该项目克隆它?如何克隆一个git流风格的git仓库?

克隆版本库仅给出master分支。新开发人员如何获得develop分支以及他选择的某些功能分支?

+5

_克隆存储库只给出主分支。 - - 这是错误的,克隆是一个完整的克隆。 'git branch -a'会显示所有分支。 – 1615903

+0

由于'git branch'命令只显示'master'分支,我假设它只克隆了主分支。我的错。 –

回答

7

由于user1615903 already pointed out,一个简单的

git clone <remote repo url> 

就已经给你从远程回购,包括masterdevelop所有分支。您可以使用git branch -rgit branch -a查看本地克隆中的所有远程分支。

Git clone doc

克隆的储存库到一个新创建的目录,在克隆的库中的每个分支创建远程跟踪分支(可见光用git分支-r),并创建和检查出初始分支是从克隆的存储库当前活动分支中分出的。

如果你想那些你可以工作在分支机构的本地副本,您可以用

git branch <local branch name> <remote branch> 

创建它们或建立分支机构,并与一个命令检查出来这样

git checkout -b <local branch name> <remote branch> 
+1

或者如果只有一个回购,'git结帐'将完成这项工作。请参阅[文档](https://www.kernel.org/pub/software/scm/git/docs/git-checkout.html):_If 未找到,但确实在一个远程中存在跟踪分支(调用它)与一个匹配的名称,视为等效于:_'$ git checkout -b --track /' – 1615903

+0

但是,这不关你在哪里创建(本地是远程副本)分支从? – Saran

+0

@Saran我不确定你的意思。 – 2014-06-16 20:03:08

0

git clone创建并签出分支存储库的当前活动分支(默认为master)分支的初始分支。所以,你的中央存储库的当前活动的分支更改为develop

cd /path/to/central/repo 
git symbolic-ref HEAD refs/heads/develop 

现在当开发商克隆,他们最初的分支将是develop而不是master