2012-01-17 164 views
11

我正在开发一个项目,并且我创建了一个存储库,其中包含master分支。正在处理它的人添加了一个名为new-branch的分支 - 它们的代码更改位于此分支中。克隆Git库后,只有主分支可见

然而,当我克隆库:

$ git clone [email protected]:me/my-repo.git 

我可以成功地克隆它,但它只能显示master分支。我不知道如何查看/获取new-branch

我该如何将这个分支拉到我的仓库?

+0

只为记录 - '拉!=克隆'。在'git'中,这两个非常不同的概念。 – twalberg 2013-05-24 17:30:00

回答

25

当您克隆存储库时,所有远程分支都会创建为存储库中的“远程跟踪分支”。这些默认情况下不显示,但可以看到这些有:

git branch -a 

如果你做了git checkout new-branch,git会发现同名的远程跟踪分支,自动从同创建一个新的本地分支提交,并切换到新的本地分支。

对于将来的工作,git fetch命令将使用远程的最新提交来更新所有远程跟踪分支。

+0

Didnt知道工作 - 我认为你需要-b在结帐创建一个新的分支 – 2012-01-17 04:52:03

+0

@Adrian康沃尔:这个DWIM行为一直存在自git 1.6.6,在[70c9ac2f](https://github.com)中介绍/ git/git/commit/70c9ac2f1999b7e0c17a864235537cffe29dfea4) – 2012-01-17 14:39:51

+0

如果我断开连接会发生什么? “远程追踪分支”听起来好像没有物理存在于克隆的回购中。如果我刚刚通过git branch -a在断开连接的状态下发现它,git checkout 会工作吗? git分支-a会在该状态中列出分支吗? – timmkrause 2014-01-13 08:34:41