В большинстве случаев, когда я пытаюсь проверить другую существующую ветвь, Git не позволяет мне, если у меня есть некоторые незафиксированные изменения в текущей ветке. Поэтому мне придется сначала зафиксировать эти изменения.
Однако иногда Git позволяет мне проверять другую ветку, не совершая или не сбрасывая эти изменения, и переносит эти изменения на проверку ящика.
Какое здесь правило? Имеет ли значение, являются ли изменения поставленными или неустановленными? Проведение изменений в другой ветке не имеет для меня никакого смысла, почему Git позволяет это иногда? То есть, полезно ли в некоторых ситуациях?