我有一个master和一个development分支,都推送到GitHub。我已经cloned、pulled 和fetched,但我仍然无法得到除master分支以外的任何东西。
master
development
clone
pull
fetch
我确定我遗漏了一些明显的东西,但我已经阅读了手册,但我一点也不高兴。
首先,克隆一个远程Git存储库并cd到其中:
$ git clone git://example.com/myproject $ cd myproject
接下来,查看存储库中的本地分支:
$ git branch * master
但是还有其他分支隐藏在您的存储库中!您可以使用-a标志查看这些:
-a
$ git branch -a * master remotes/origin/HEAD remotes/origin/master remotes/origin/v1.0-stable remotes/origin/experimental
如果您只是想快速浏览一下上游分支,可以直接查看:
$ git checkout origin/experimental
但是如果你想在那个分支上工作,你需要创建一个本地跟踪分支,它通过以下方式自动完成:
$ git checkout experimental
你会看到
Branch experimental set up to track remote branch experimental from origin. Switched to a new branch 'experimental'
在这里,“新分支”仅表示该分支是从索引中取出并在本地为您创建的。正如前一行告诉您的,分支正在设置以跟踪远程分支,这通常意味着 origin/branch_name 分支。
现在,如果您查看本地分支机构,您会看到以下内容:
$ git branch * experimental master
实际上,您可以使用git remote.
git remote
$ git remote add win32 git://example.com/users/joe/myproject-win32-port $ git branch -a * master remotes/origin/HEAD remotes/origin/master remotes/origin/v1.0-stable remotes/origin/experimental remotes/win32/master remotes/win32/new-widgets
在这一点上,事情变得非常疯狂,所以运行gitk看看发生了什么:
gitk
$ gitk --all &