Git checkout: обновление путей несовместимо с переключением веток - PullRequest
460 голосов
/ 03 июня 2009

Моя проблема связана с Фатальная ошибка Git при переключении ветви .

Я пытаюсь получить удаленную ветку с помощью команды

git checkout -b local-name origin/remote-name

но я получаю это сообщение об ошибке:

fatal: git checkout: обновление путей несовместимо с переключением ветвей.
Вы намеревались получить 'origin / remote-name', которое не может быть разрешено как коммит?

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

Почему он не работает в репозитории, с которым я работаю?

Ответы [ 11 ]

1 голос
/ 03 июня 2009

Может ли ваша проблема быть связана с другим вопросом SO "проблема оформления заказа" ?

т.е. проблема, связанная с:

  • старая версия Git
  • любопытный синтаксис проверки, который должен быть: git checkout -b [<new_branch>] [<start_point>], где [<start_point>] ссылается на имя коммита, с которого начинается новая ветвь, а 'origin/remote-name' - это не так. (тогда как git branch поддерживает начальную точку, являющуюся именем удаленной ветви)

Примечание: что говорит checkout.sh :

  if test '' != "$newbranch$force$merge"
  then
    die "git checkout: updating paths is incompatible with switching branches/forcing$hint"
  fi

Это похоже на синтаксис git checkout -b [] [remote_branch_name] и переименовывал ветку, и сбрасывал новую начальную точку новой ветки, которая считается несовместимой.

...