2016-06-10 6 views
0

Я всегда впадаю в состояние отдельной головы, я не знаю почему. И все еще не в состоянии найти хороший способ выйти из него. Некоторое время я думал, что достаточно создать ветвь, когда в отдельном голове, но это не помогает, HEAD остается отдельностоящий:Отдельная голова не исчезает, создавая ветку. Зачем?

>git branch 
(HEAD detached at af34e34) 
master 

>git branch detachedhead20160610 

>git branch 
(HEAD detached at af34e34) 
detachedhead20160610 
master 

>git branch detachedhead20160610 
Fatal: A branch named 'detachedhead20160610' already exists. 

>git branch detachedhead20160610-2 

>git branch 
(HEAD detached at af34e34) 
detachedhead20160610 
detachedhead20160610-2 
master 

Т.е. новые ветки просто добавлены без лечения состояния отсоединенной головки.

ответ

4

Ваше замешательство возникает из-за незнания того, что делает команда git branch. От documentation:

Обратите внимание, что это создаст новую ветку, но она не переключит на нее рабочее дерево; используйте «git checkout» для перехода на новую ветку.

Другими словами, когда вы сделали git branch detachedhead20160610, вы создали новую ветвь под названием detachedhead20160610 но вы не переключатель в этой отрасли, поэтому Git еще сообщил вам как в отдельном государстве головы. Вместо этого, у вас есть два варианта:

git branch detachedhead20160610  # create a new branch 
git checkout detachedhead20160610 # switch to that branch 

или вы можете сделать это в одной команде с помощью:

git checkout -b detachedhead20160610 # create and switch to new branch