Из этого вопроса SO , HEAD^
семантически означает родителя текущего HEAD. Может быть несколько родителей текущего HEAD, если HEAD будет коммитом слияния.
Из Git Bash git checkout HEAD^
работал для меня без проблем. Я предполагаю, что вы делаете это из командной оболочки, а не из Bash. В этом случае вы можете попробовать заключить в двойные кавычки, например,
git checkout "HEAD^"
Я протестировал вышеупомянутое с помощью приглашения Windows и получил следующее:
HEAD is now at 450db90... some commit message here
Это означает, что вышеприведенная проверка переводит нас в отключенное состояние HEAD, один коммит до текущего HEAD ветви. Если вы хотите вернуть исходную ветку после осмотра, просто извлеките название ветви, например,
git checkout your_branch