Удаленная ветвь не отображается в "git branch -r"

Я подталкивал к удаленному репозиторию битбакет, и недавно коллега подтолкнул новую ветвь, созданную им к тому же репо.

Я пытаюсь загрузить изменения, которые он загрузил.

 $ git branch -a  
 * master 
 localbranch1
 localbranch2
 remotes/origin/master

$git branch -r
Происхождение/мастер

В Интернете ui для битбакет я вижу ветку, которую он сделал. Любая помощь/совет/направление будут оценены наиболее высоко. Спасибо.

Любая дополнительная информация, которую вам нужно просто спросить.

РЕДАКТИРОВАТЬ 1

$ git fetch bitbucket
Password for 'https://[email protected]':
From https://bitbucket.org/user/repo
 * branch            HEAD       -> FETCH_HEAD

Если созданная ветвь называется new_branch_b, я должен ожидать:

$ git branch -r    
origin/master 
origin/new_branch_b

РЕДАКТИРОВАТЬ 2

$ git remote update
Fetching bitbucket
Password for 'https://[email protected]':
From https://bitbucket.org/user/repo
 * branch            HEAD       -> FETCH_HEAD


$ git branch -r
  origin/master

РЕДАКТИРОВАТЬ 3

[remote "bitbucket"]
url = https://[email protected]/user/repo.git

Я назвал удаленный битбакет, а не происхождение (по крайней мере, то, что я помню, я установил его некоторое время назад)

EDIT 4

Я обновил удаленную конфигурацию bitbucket в соответствии с ответом на kan.

$git config -e

[remote "bitbucket"]
    url = https://[email protected]/user/repo.git
    fetch = +refs/heads/*:refs/remotes/bitbucket/*

Для большинства людей он будет называться origin

[remote "origin"]
    url = https://[email protected]/user/repo.git
    fetch = +refs/heads/*:refs/remotes/origin/*

Затем

$ git remote update

Fetching bitbucket
Password for 'https://[email protected]':
remote: Counting objects: 48, done.
remote: Compressing objects: 100% (32/32), done.
remote: Total 35 (delta 21), reused 0 (delta 0)
Unpacking objects: 100% (35/35), done.
From https://bitbucket.org/user/repo
 * [new branch]      branch_name1 -> origin/branch_name1
 * [new branch]      branch_name2    -> origin/branch_name2

.... и т.д.

Я думаю, что git fetch origin также работал бы на git remote update

Спасибо всем, кто помог мне с этой проблемой.

Ответ 1

В разделе remote также указаны правила выборки. Вы можете добавить что-то в него:

fetch = +refs/heads/*:refs/remotes/origin/*

чтобы получить все ветки с удаленного. (или замените origin на bitbucket).

Прочтите здесь: https://git-scm.com/book/en/v2/Git-Internals-The-Refspec

Ответ 2

Обновите пульт дистанционного управления, если вы все еще не сделали этого:

$ git remote update
$ git branch -r

Ответ 3

У меня была такая же проблема. Кажется, самым простым решением является просто удалить пульт, повторно добавить его и извлечь.

Ответ 4

Если вы клонируете с параметром --depth, он устанавливает .git/config, чтобы не получать все ветки, а только мастер.

Вы можете просто опустить параметр или обновить конфигурационный файл из

fetch = +refs/heads/master:refs/remotes/origin/master

к

fetch = +refs/heads/*:refs/remotes/origin/*