WedX - журнал о программировании и компьютерных науках

git pull удаленная ветка не может найти удаленную ссылку

Я не уверен, почему это не работает. Когда я делаю git branch -a, я вижу следующее:

введите описание изображения здесь

Я пытаюсь вытащить из DownloadManager онлайн-репозиторий GitHub. я пытался

  • git pull, но потом он жалуется, что не знает, из какой ветки вытащить
  • git pull origin, не знает, какая ветка
  • git pull origin менеджер загрузок fatal: Couldn't find remote ref downloadmanager. Unexpected end of commands stream
  • git pull origin remotes / origin / DownloadManager 'fatal couldn't find remote ref remotes/origin/DownloadManager. Unexpected end of commands stream

Что-то мне не хватает? В Xcode, когда я пытаюсь подключиться к репозиторию, ничего не появляется. В прошлом мне удавалось настаивать на этом. Но я не могу нажимать снова, пока не внесу самые последние изменения.

git
19.07.2012

  • Как насчет git pull origin DownloadManager? 19.07.2012
  • Является ли ваша локальная ветвь диспетчера загрузок веткой отслеживания удаленного диспетчера загрузок? Вот как можно проверить. 19.07.2012
  • @Felix Kling: Это сработало. Вы хотите ответить, чтобы я мог ответить на свой вопрос? Так это просто с учетом регистра? 19.07.2012
  • для всех, кто ищет другой ответ на вопрос git pull remote branch cannot find remote ref: Проверьте, была ли удалена ваша удаленная ветка. Чтобы убедиться, что текущее состояние локально, выполните git fetch с флагом --prune origin 28.01.2020
  • git fetch --prune завершится ошибкой, если удаленная ветка была удалена / переименована. Попробуйте отключить удаленные ссылки с помощью git config --unset-all remote.origin.fetch. См .: stackoverflow.com/a/67200162/658497 22.04.2021

Ответы:


1

Будьте осторожны - у вас может быть смешанный регистр в локальной и удаленной ветке!

Предположим, вы сейчас находитесь в локальном филиале downloadmanager (git checkout downloadmanager)

У вас есть следующие варианты:

  1. Каждый раз указывайте удаленную ветку в командах pull / push (с учетом регистра):

    git pull origin DownloadManager

    or

    git pull origin downloadmanager:DownloadManager


  1. Укажите ветку отслеживания при следующем нажатии:

    git push -u origin DownloadManager

    (-u - это сокращенная форма от --set-upstream)

    это сохранит ссылку downloadmanager: DownloadManager в конфигурации автоматически (тот же результат, что и на следующем шаге).


  1. Установите в git config ветку удаленного отслеживания по умолчанию:

    git branch -u downloadmanager origin/DownloadManager

    (обратите внимание, поскольку git 1.8 для branch команда -u является сокращенной формой --set-upstream-to, которая немного отличается из устаревшего --set-upstream)

    или отредактируйте конфиг вручную (я предпочитаю этот способ):

    git config --local -e

    -> Это откроет редактор. Добавьте блок ниже (угадайте, после «главного» блока):

    [branch "downloadmanager"]
            remote = origin
            merge = refs/heads/DownloadManager
    

и после любого из этих шагов вы можете легко использовать:

git pull

Если вы используете TortoiseGit: щелкните правой кнопкой мыши репо -> TortoiseGit -> Настройки -> Git -> Изменить локальный .git / config

19.07.2012
  • Как обновление, в настоящее время --set-upstream устарел в пользу --set-upstream-to или --track. 24.02.2015
  • Спасибо, чувак, это большая помощь. У меня не было времени, когда я должен был показать вам свой код и уже испортил предыдущий репозиторий. Еще раз спасибо. 26.08.2020

  • 2

    Эта ошибка возникает из-за того, что локальный репозиторий не может идентифицировать удаленную ветку в первый раз. Так что вам нужно сделать это в первую очередь. Это можно сделать с помощью следующих команд:

    git remote add origin 'url_of_your_github_project'
    
    git push -u origin master
    
    16.05.2015
  • У меня фатальный: удаленное происхождение уже существует. 14.04.2021

  • 3

    Имя ветки в Git чувствительно к регистру. Чтобы увидеть имена ваших веток, которые Git «видит» (включая правильный регистр), используйте:

    git branch -vv
    

    ... и теперь, когда вы видите правильное имя ветки, сделайте следующее:

    git pull origin BranchName 
    

    где BranchName - это название вашей ветки. Убедитесь, что вы правильно подобрали корпус

    Таким образом, в случае OP (оригинального плаката) команда будет выглядеть следующим образом:

    git pull origin DownloadManager
    
    24.02.2016
  • чувствительность к регистру вызвала мою проблему. 27.10.2016

  • 4

    Если ни один из этих ответов не сработает, я бы начал с поиска в вашем .git/config файле ссылок на ветку, которая вызывает проблемы, и их удаления.

    22.02.2019
  • Спасибо, это было для меня. 10.04.2020

  • 5

    Для меня это было потому, что я пытался вытащить ветку, которая уже была удалена из Github.

    04.01.2018

    6

    Если удаленная ветка была удалена (или переименована), вы можете получить такую ​​ошибку при попытке получить эту старую ветку:

    $ git fetch --prune --all
    
      Fetching origin
      fatal: couldn't find remote ref refs/heads/old-branch
      error: Could not fetch origin
    

    Проверьте свою локальную конфигурацию git, если она по-прежнему относится к старой ветке:

      $ git config --get-all remote.origin.fetch
    
        +refs/heads/*:refs/remotes/origin/*
        +refs/heads/old-branch:refs/remotes/origin/old-branch
        +refs/heads/master:refs/remotes/origin/master
    

    Удаление старых записей ссылок может решить проблему с загрузкой:

    $ git config --unset-all remote.origin.fetch
    
    $ git fetch --prune --all
      Fetching origin
      ...
       * branch            HEAD       -> FETCH_HEAD
    
    21.04.2021

    7

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

    28.05.2019

    8

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

    Пытаться:

    git branch --set-upstream downloadmanager origin/DownloadManager
    git pull
    

    ОБНОВЛЕНИЕ:

    Параметр '--set-upstream' больше не поддерживается.

    git branch --set-upstream-to downloadmanager origin/DownloadManager
    git pull
    
    19.07.2012

    9

    Это потому, что имя вашей удаленной ветки - «DownloadManager», я думаю, когда вы проверяете свою ветку, вы даете этой ветке новое имя «downloadmanager».

    Но это просто ваше локальное имя, а не имя удаленной ссылки.

    19.07.2012

    10

    Я столкнулся с той же проблемой, потому что GitHub изменил имя ветки по умолчанию с master на main, поэтому Git pull origin master у меня не работал.

    попробуйте это
    Git pull origin main Если проблема связана с конфликтом имени ветки, это спасет вас.

    18.03.2021
  • git должен быть в нижнем регистре 07.04.2021

  • 11

    Для меня это не удалось, потому что моя удаленная ветка отсутствовала (она была удалена при предыдущем запуске слияния).

    27.04.2021

    12

    У меня возникла эта проблема, когда после перезагрузки и повторного открытия последней копии VSCode. Вышеупомянутое исправление не сработало, но когда я закрыл и снова открыл VSCode через проводник, это сработало. Вот шаги, которые я сделал:

    //received fatal error
    git remote remove origin
    git init
    git remote add origin git@github:<yoursite>/<your project>.git
    // still received an err 
    //restarted VSCode and folder via IE 
    //updated one char and resaved the index.html  
    git add .
    git commit -m "blah"
    git push origin master

    19.04.2020

    13

    В моем случае я просто сменил master на main и смог получить данные из удаленного репо.

    29.06.2021
    Новые материалы

    Я хотел выучить язык программирования MVC4, но не мог выучить его раньше, потому что это выглядит сложно…
    Просто начните и учитесь самостоятельно Я хотел выучить язык программирования MVC4, но не мог выучить его раньше, потому что он кажется мне сложным, и я бросил его. Это в основном инструмент..

    Лицензии с открытым исходным кодом: руководство для разработчиков и создателей
    В динамичном мире разработки программного обеспечения открытый исходный код стал мощной парадигмой, способствующей сотрудничеству, инновациям и прогрессу, движимому сообществом. В основе..

    Объяснение документов 02: BERT
    BERT представил двухступенчатую структуру обучения: предварительное обучение и тонкая настройка. Во время предварительного обучения модель обучается на неразмеченных данных с помощью..

    Как проанализировать работу вашего классификатора?
    Не всегда просто знать, какие показатели использовать С развитием глубокого обучения все больше и больше людей учатся обучать свой первый классификатор. Но как только вы закончите..

    Работа с цепями Маркова, часть 4 (Машинное обучение)
    Нелинейные цепи Маркова с агрегатором и их приложения (arXiv) Автор : Бар Лайт Аннотация: Изучаются свойства подкласса случайных процессов, называемых дискретными нелинейными цепями Маркова..

    Crazy Laravel Livewire упростил мне создание электронной коммерции (панель администратора и API) [Часть 3]
    Как вы сегодня, ребята? В этой части мы создадим CRUD для данных о продукте. Думаю, в этой части я не буду слишком много делиться теорией, но чаще буду делиться своим кодом. Потому что..

    Использование машинного обучения и Python для классификации 1000 сезонов новичков MLB Hitter
    Чему может научиться машина, глядя на сезоны новичков 1000 игроков MLB? Это то, что исследует это приложение. В этом процессе мы будем использовать неконтролируемое обучение, чтобы..


    Для любых предложений по сайту: [email protected]