【发布时间】:2014-11-02 01:13:30
【问题描述】:
我已经在 BitBucket 上克隆、拉取并获取了我的远程 git 存储库。但我只能得到主分支。我在 BitBucket 的仓库有 4 个分支:
- 主人
- 修复/清理
- etc/schema_note
- 特征/样本数据
我找到了this和that这两个问题。我遵循了这些问题中的一些说明。
当我尝试git branch -a时,我看不到其他三个分支。
*master
remotes/origin/HEAD -> origin/master
remotes/origin/master
我试过git checkout origin/fix/cleanup。我收到一条错误消息。
错误:pathspec 'origin/fix/cleanup` 与任何已知文件都不匹配 到 git。
我尝试了checkout -b,但又遇到了一个错误。
$ git checkout -b fix/cleanup origin/fix/cleanup
fatal: Cannot update paths and switch to branch 'fix/cleanup' at the same time.
Did you intend to checkout 'origin/fix/cleanup' which can not be resolved as com
mit?
我也尝试执行 oneliner。
for remote in `git branch -r`; do git branch --track $remote; done
但它给了我本地的新分支 origin/HEAD 和 origin/master,而不是其他 3 个分支。我的回购发生了什么?
我试过git fetch --all 和git pull --all。他们没有给我任何改变。
【问题讨论】:
-
如果你克隆了 repo,你已经拥有了所有(远程)分支。
-
@VonC 我不认为这是答案,在这里。有问题的远程分支甚至没有在
git branch -a的输出中列出... -
@Jubobs true...一些
git fetch应该更新它。 -
@Jubobs 不是真的,但它很容易测试:克隆一个有很多分支的 repo,然后克隆那个克隆:
refs/remotes命名空间不是克隆。仅限refs/heads
标签: git bitbucket git-branch git-clone