Вы не можете нажать на одну отмеченную ветку репозитория, потому что она будет путаться с пользователем этого репозитория таким образом, который, скорее всего, закончится потерей данных и истории. Но вы можете нажать на любую другую ветку одного и того же репозитория.
Поскольку в голых репозиториях никогда не было ни одной ветки, вы всегда можете нажать на любую ветвь открытого репозитория.
Когда ветвь проверяется, фиксация добавит новый фиксатор с головкой текущей ветви в качестве ее родительского элемента и переместит голову ветви в новую фиксацию.
So
A ← B
↑
[HEAD,branch1]
становится
A ← B ← C
↑
[HEAD,branch1]
. Но если кто-то может нажать на эту ветку между ними, пользователь получит себя в том, что git вызывает режим отдельной главы:
A ← B ← X
↑ ↑
[HEAD] [branch1]
Теперь пользователь больше не находится в ветке1, не попросив явно проверить другую ветку. Хуже того, пользователь теперь находится вне любой ветки, и любая новая фиксация будет просто болтаться:
[HEAD]
↓
C
↙
A ← B ← X
↑
[branch1]
Гипотетически, если на данный момент пользователь проверяет другую ветку, тогда это оборванное сообщение становится честной игрой для сборщика мусора Git.