tl; dr: git checkout master
не переключается на мастер-ветку, не дает никакой ошибки или никакого вывода вообще, и я не знаю, почему. Любая другая ветка работает нормально.
У меня есть репозиторий git, который состоит из ветвей development
и master
. Я делаю новый клон репозитория, проверяя ветвь development
по умолчанию.
$ git clone <REPO-URL> --branch development
$ git branch -a
* development
origin/HEAD -> origin/development
origin/development
origin/master
$ git show-ref
656c781c2affc26792f857baf8e232de07101535 refs/heads/development
656c781c2affc26792f857baf8e232de07101535 refs/remotes/origin/HEAD
656c781c2affc26792f857baf8e232de07101535 refs/remotes/origin/development
cfee1a1761642453edf5d001565f23b50243ff09 refs/remotes/origin/master
Мастер ссылок указывает на правильность, что фиксация существует и является последней фиксацией моей главной ветки.
Пока все выглядит нормально, но когда я пытаюсь переключиться на мастер, это происходит:
$ git checkout master
$ git branch
* development
Нет сообщений из проверки, нет ошибки, ничего, и ветка не переключается.
Вещи, которые я пробовал до сих пор:
- Создание второй ветки
master2
из того же commit = > checkout отлично работает. - Удаление и повторное создание ветки ветки как локального, так и по происхождению = > снова нет возможности проверить
-
git checkout -b master --track origin/master
= > работает, но я думаю, что нет необходимости использовать эту команду, поскольку это то, чтоgit checkout master
должно делать автоматически - Выполнение и нажатие на мастер-работы, но не изменяет проблему проверки
- Я пробовал несколько версий git (1.9, 2.2) и машин (linux, windows), проблема возникает везде.
Любые другие идеи? Что мне не хватает? Является ли мой репозиторий сломанным? Как я могу это исправить?