Я знакомился с созданием, слиянием и удалением ответвлений. Мне нравится знать, где я так, я не фиксирую работу в неправильное ответвление. Я использую git branch -a
видеть, какие ответвления я имею. Я думаю Астерикс *
шоу, которые переходят, я в настоящее время включен. Что означает то, когда я добираюсь:
* (no branch)
master
origin/HEAD
Поскольку, когда я $git checkout mybranch
Я ожидаю видеть
* mybranch
master
origin/HEAD
На странице руководства git checkout для аргумента имени ветки упоминается:
<branch>
Перейти к проверке;
- , если он ссылается на ветвь (то есть имя, которое при добавлении в начале «
refs / Heads /
» является действительной ссылкой), то эта ветка извлекается.- В противном случае, если это относится к действительной фиксации, ваша
HEAD
становится «отсоединенной», и вы больше не находитесь ни в одной ветке.
Таким образом, вместо того, чтобы проверять имя ветки, вы должны были проверить имя тега (допустимая фиксация), что сделало вашу HEAD отдельной .
Не похоже, что у вас есть ветка с именем mybranch
. Если вы хотите создать ветвь, указывающую на текущий заголовок, используйте git branch foo
.
Если вам нужна ссылка на другую ссылку, используйте git checkout -b newbranch