Как мне сбросить рабочее дерево, не двигая ГОЛОВУ?

Учитывая ветку git с некоторыми коммитами (C - самый последний коммит):

A -> B -> C

Как мне сбросить рабочее пространство, чтобы все файлы были в состоянии, в котором они находились в коммите B, но HEAD все еще в C?

Я смотрел наgit-reset, но ни один из вариантов, кажется, не помогает. Страница man предполагает, что все различные режимы будут перемещаться в ГОЛОВУ:

--soft
   Does not touch the index file or the working tree at all 
   (but resets the head to <commit>, just like all modes do).

я пробовалgit reset HEAD~ но это движется ГОЛОВА.

Ответы на вопрос(3)

Ваш ответ на вопрос