Из git reset manpage :
--hard Matches the working tree and index to that of the tree being switched to. Any changes to tracked files in the working tree since <commit> are lost. --merge Resets the index to match the tree recorded by the named commit, and updates the files that are different between the named commit and the current commit in the working tree.
git reset --merge
предназначен для более безопасной версии git reset --hard
, когда ваши и чьи-то изменения смешиваются, пытаясь перенести наши изменения.
По-видимому, согласно:
http://www.kernel.org/pub/software/scm/git/docs/git-reset.html
--hard - Соответствует рабочему дереву и индексу дереву, на которое выполняется переключение. Любые изменения отслеживаемых файлов в рабочем дереве поскольку
потеряны.
- merge - сбрасывает индекс, чтобы он соответствовал дереву, записанному указанным коммитом, и обновляет файлы, которые различаются между указанными фиксация и текущая фиксация в рабочем дереве.