Моя проблема связана с Fatal Git error при переключении ветки .
Я пытаюсь получить удаленную ветку с помощью команды
git checkout -b local-name origin/remote-name
но я получаю это сообщение об ошибке:
fatal: git checkout: обновление путей несовместимо с переключением веток.
Вы намеревались оформить 'origin / remote-name', которое не может быть разрешено как коммит?
Если я вручную создаю ветку, а затем вытягиваю удаленную ветку, она работает так же, как создание нового клона и проверка ветви.
Почему он не работает в репозитории, с которым я работаю?
Ответы:
Я считаю, что это происходит, когда вы пытаетесь извлечь удаленную ветку, о которой ваше локальное git-репозиторий еще не знает. Пытаться:
Если удаленная ветвь, которую вы хотите оформить, находится в разделе «Новые удаленные ветки», а не «Отслеживаемые удаленные ветки», вам необходимо сначала получить их:
Теперь это должно работать:
источник
git fetch
получит все ветки из всех удаленных репозиториев.git remote update
прежде чем ваша выборка получит этот пульт. В противном случае вы получите такие сообщения, как «Did you intend to checkout 'upstream-repo/master' which can not be resolved as commit?
Пожалуйста, добавьте это к ответу и сэкономьте людям часы на чтение тех же ответов, которые работают только для происхождения».Альтернативный синтаксис,
источник
--depth
здесь может быть виноват классификатор для оригинального клона. У меня был успех,git fetch remote_branch_name:local_branch_name
но все остальные советы провалились.Попробовав большую часть того, что я мог прочитать в этой теме, безуспешно, я наткнулся на эту: удаленная ветка не отображается в "git branch -r"
Оказалось, что мой файл .git / config был неверным. После простого исправления все ветви появились.
Исходя из
в
Сделал трюк
источник
Не уверен, что это полезно или точно относится к вашему вопросу, но если вы пытаетесь получить и извлечь только одну ветку из удаленного репозитория, то следующие команды git помогут вам:
источник
ничего из вышеперечисленного не помогло мне. Моя ситуация немного отличается, моя удаленная ветка не в источнике . но в другом хранилище.
Совет: если вы не видите удаленную ветвь в следующем выводе,
git branch -v -a
нет способа проверить это.Подтвердили работу над 1.7.5.4
источник
git branch -v -a
: у меня был неправильно настроенный пульт, который сказал,fetch = +refs/heads/*:refs/remotes/master/*
хотя пульт был вызванupstream
.Для меня то, что сработало, было:
Который тянет все ссылки на вашу машину для всех филиалов на удаленном. Тогда я мог бы сделать
и это сработало отлично. Похоже на верхний проголосовавший ответ, но чуть проще.
источник
Я подозреваю, что нет удаленной ветви с именем remote-name, но вы случайно создали локальную ветку с именем origin / remote-name.
Возможно ли, что вы в какой-то момент набрали:
Таким образом, создавая локальную ветку с именем origin / remote-name? Введите эту команду:
Вы также увидите:
это означает, что это действительно неправильно названное местное отделение, или
что означает, что это действительно удаленная ветвь.
источник
Это не очень интуитивно понятно, но это хорошо работает для меня ...
Затем запустите команду git branch --track ...
источник
Для меня у меня была опечатка, и моя удаленная ветвь не существовала
Используйте
git branch -a
для отображения удаленных ветокисточник
Может ли ваша проблема быть связана с этим другим SO вопросом «проблема оформления заказа» ?
то есть: проблема, связанная с:
git checkout -b [<new_branch>] [<start_point>]
со[<start_point>]
ссылкой на имя коммита, с которого начинается новая ветвь, и'origin/remote-name'
это не так.(тогда
git branch
как поддерживает начальную точку, являющуюся именем удаленной ветви)Примечание: что говорит сценарий checkout.sh :
Это похоже на синтаксис git checkout -b [] [remote_branch_name], который одновременно переименовывал ветку и сбрасывал новую начальную точку новой ветки, которая считается несовместимой.
источник
После извлечения миллиона раз все еще добавленные пульты не появлялись, хотя капли были в бассейне. Оказывается, опция --tags не должна предоставляться по
git remote add
какой-либо причине. Вы можете вручную удалить его из .git / config, чтобы git fetch создала ссылки.источник