diff --git a/hgext/githelp.py b/hgext/githelp.py
--- a/hgext/githelp.py
+++ b/hgext/githelp.py
@@ -807,12 +807,16 @@
     hard = opts.get('hard')
 
     if opts.get('mixed'):
-        ui.status(_('NOTE: --mixed has no meaning since mercurial has no ' +
+        ui.status(_('NOTE: --mixed has no meaning since Mercurial has no '
+                    'staging area\n\n'))
+    if opts.get('soft'):
+        ui.status(_('NOTE: --soft has no meaning since Mercurial has no '
                     'staging area\n\n'))
 
-    cmd = Command('reset')
+    cmd = Command('update')
     if hard:
         cmd.append('--clean')
+
     cmd.append(commit)
 
     ui.status((str(cmd)), "\n")
diff --git a/tests/test-githelp.t b/tests/test-githelp.t
--- a/tests/test-githelp.t
+++ b/tests/test-githelp.t
@@ -158,11 +158,22 @@
 
 githelp for reset, checking ~ in git becomes ~1 in mercurial
   $ hg githelp -- reset HEAD~
-  hg reset .~1
+  hg update .~1
   $ hg githelp -- reset "HEAD^"
-  hg reset .^
+  hg update .^
   $ hg githelp -- reset HEAD~3
-  hg reset .~3
+  hg update .~3
+
+  $ hg githelp -- reset --mixed HEAD
+  NOTE: --mixed has no meaning since Mercurial has no staging area
+  
+  hg update .
+  $ hg githelp -- reset --soft HEAD
+  NOTE: --soft has no meaning since Mercurial has no staging area
+  
+  hg update .
+  $ hg githelp -- reset --hard HEAD
+  hg update --clean .
 
 githelp for git show --name-status
   $ hg githelp -- git show --name-status