Reset current HEAD to the specified state. Sets the current head to the specified commit and optionally resets the index and working tree to match.
In Reset dialog, you can clickto browse git log and choose a specific version. In Abort merge dialog, you can only reset to HEAD.
Soft: Leave working tree and index untouched Does not touch the index file nor the working tree at all (but resets the head to <commit>, just like all modes do). This leaves all your changed files "Changes to be committed", as git status would put it. This option is not available in Abort Merge dialog.
Mixed: Leave working tree untouched, reset index Resets the index but not the working tree (i.e., the changed files are preserved but not marked for commit) and reports what has not been updated. This is the git default action. This option can abort a merge.
Hard: Reset working tree and index (discard all local changes) Resets the index and working tree. Any changes to tracked files in the working tree since <commit> are discarded. This option can abort a merge, and it is the default action in Abort Merge dialog.
You can find more information at the section called “git-reset(1)”