Ответ 1
Совершенно верно.
Без опции "git reset" интерпретируется как "git reset --mixed HEAD".
git reset имеет три режима: мягкий, смешанный и жесткий (по умолчанию "смешанный" ).
Как и многие другие команды git, git reset принимает аргумент, который является ссылкой на фиксацию (имя ветки, имя тега, SHA фиксации, относительная ссылка, такая как HEAD ~ 2). По умолчанию, если ссылка не указана, используется HEAD.
Я предлагаю вам прочитать последнюю запись в блоге "Progit", в которой подробно объясняется команда "git reset": http://progit.org/2011/07/11/reset.html