Ответ 1
Это правильное поведение, так как вы проверили ветвь remote.
Если вы хотите проверить мастер и работать над ним, вы должны сделать это сейчас:
# checkout remote branch as local branch
# this will look up the branch name locally and if it does not find it it
#will checkout your remote branch with this name.
git checkout master
При проверке удаленной ветки вы просто указываете HEAD на последнюю фиксацию из этой ветки. Если вы хотите работать над ним, вы должны проверить его как локальную ветвь без remote/<branch>
. Это автоматически проверит и создаст локальную ветвь с заданным именем.
Если вы хотите узнать больше о HEAD, прочитайте все об этом здесь.
Что такое отдельная головка?
Отсоединенный HEAD означает, что ваша HEAD указывает на фиксацию, которая не является последним в цепочке фиксации.
В этом примере commit # 4 является последним, а HEAD указывает на фиксацию # 2.