Коллега подтолкнул новую удаленную ветку к origin / dev / homepage, и я не вижу ее, когда запускаю:
$ git branch -r
Я все еще вижу существующие удаленные ветки.
Я предполагаю, что это связано с тем, что мои локальные удаленные ссылки не обновлены, поэтому, когда я запустил git pull, ничего не произошло, поскольку git pull правильно вытягивает только текущую рабочую ветку? В отличие от git push, который подталкивает все ветки, в которых есть изменения, к соответствующей удаленной ветке?
git
remote-branch
гибрид9
источник
источник
git pull
, спасибоgit fetch <name-of-remote>
получилось. Без названия пульта НЕ работал.Ответы:
Во-первых, дважды проверьте, действительно ли ветка была удалена, с помощью команды
git ls-remote origin
. Если в выходных данных появляется новая ветка, попробуйте дать командуgit fetch
: она должна загрузить ссылки на ветки из удаленного репозитория.Если ваша удаленная ветка по-прежнему не отображается, дважды проверьте (в
ls-remote
выходных данных), каково имя ветки на удаленном компьютере и, в частности, начинается ли оно сrefs/heads/
. Это потому, что по умолчанию значениеremote.<name>.fetch
:так что только удаленные ссылки, имя которых начинается с,
refs/heads/
будут отображаться локально как ссылки удаленного отслеживанияrefs/remotes/origin/
(т.е. они станут ветвями удаленного отслеживания)источник
git fetch
, git загрузит ссылки из удаленного репозитория по умолчанию, который был указан в.git/config
: обычно он будет вызыватьсяorigin
, поэтому обе команды эквивалентны, но ваша конкретная конфигурация по какой-то причине может отличаться. Нет, вам не нужно отдаватьgit fetch
для каждой ветки, так как (по умолчанию) он выбирает все ветки.git pull
эквивалентенgit fetch
+git merge
(илиgit rebase
если вы изменили значения по умолчанию), поэтому вы можете продолжать использоватьgit pull
как обычно, и новые удаленные ветки появятся сами собой.git ls-remote gerritrepo:project
показывает новую удаленную ветку, ноgit branch -a
нет ... Мне нужно сделать еще один клон, и только тогда появится новая веткаПроверить,
.git/config
содержит лиЕсли да, измените его на
Тогда вы сможете его использовать:
источник
brew tap user/repo
: локальная копия репо, клонированная с помощью,brew
имела указанные вами настройки, и было невозможно увидеть и использовать другие ветки, которые у меня были в моем репо. Еще раз спасибо! :) +1!git config remote.origin.fetch "+refs/heads/*:refs/remotes/origin/*"
а затемgit fetch origin
получить все ветки по происхождению .Самый простой ответ:
git fetch origin <branch_name>
источник
fatal: Couldn't find remote ref <branch_name>
Делая удаленного обновления git также обновит список веток, доступных из удаленного репозитория.
Если вы используете TortoiseGit, начиная с версии 1.8.3.0, вы можете выполнить «Git -> Sync», и в нижнем левом углу появившегося окна появится кнопка «Удаленное обновление». Щелкните это. Затем вы сможете выполнить «Git -> Switch / Checkout», и новая удаленная ветка появится в раскрывающемся списке ветвей, которые вы можете выбрать.
источник
git remote update
это старый способ сделать это, более новая предпочтительная командаgit fetch
.Допустим, мы ищем релиз / 1.0.5
Когда
git fetch -all
это не работает , и что вы не можете видеть удаленный филиал иgit branch -r
не показывать эту конкретную отрасль.1. Вывести все ссылки с удаленного компьютера (ветки, теги, ...):
git ls-remote origin
Должен показать вам удаленную ветку, которую вы ищете.В выводе появится новая ветка 'release / 1.0.5'.
2. Принудительно получить удаленную ветку:
git fetch origin <name_branch>:<name_branch>
Теперь у вас также есть ссылки локально, вы проверяете (или что-то еще) эту ветку.
Работа выполнена!
источник
Звучит банально, но моя проблема заключалась в том, что я был не в том проекте. Убедитесь, что вы участвуете в проекте, в котором рассчитываете участвовать; в противном случае вы не сможете опустить нужные ветви.
источник
Я использовал грубую силу и удалил пульт, а затем добавил его
источник
В конце концов, у меня сработало добавление имени удаленного репозитория к
git fetch
команде, например:Теперь вы можете увидеть их все вот так:
источник
Вы можете проверить удаленную ветку / n git fetch && git checkout remotebranch
источник