Где я? * (нет филиала) - PullRequest
       12

Где я? * (нет филиала)

5 голосов
/ 30 апреля 2010

Я знакомлюсь с созданием, объединением и удалением веток. Мне нравится знать, где я нахожусь, поэтому я не делаю работу не в ту ветку. Я использую git branch -a, чтобы увидеть, какие ветви у меня есть. Я думаю, что звездочка * показывает, в какой ветке я сейчас нахожусь. Что это значит, когда я получаю: </p> <pre><code>* (no branch) master origin/HEAD

Потому что когда я $git checkout mybranch ожидаю увидеть </p> <pre><code>* mybranch master origin/HEAD

Ответы [ 2 ]

4 голосов
/ 30 апреля 2010

В справочной странице git checkout для аргумента имени ветки упоминается:

<branch>

Отделение для оформления заказа;

  • если оно ссылается на ветвь (то есть имя, которое при добавлении "refs/heads/" является действительным ссылочным номером), то эта ветвь извлекается.
  • В противном случае, если он ссылается на действительный коммит, ваш HEAD становится «отсоединенным», и вы больше не находитесь ни в одной ветви.

Таким образом, вместо того, чтобы извлекать имя ветви, вы, должно быть, извлекли имя тега (действительный коммит), что делает ваш HEAD отдельным .

1 голос
/ 30 апреля 2010

Не похоже, что у вас есть ветка с именем mybranch. Если вы хотите создать ветку, которая указывает на текущую голову, используйте git branch foo.

Если вы хотите, чтобы тот указывал на другой реф, используйте git checkout -b newbranch <ref>

...