> Think about why you need to use git-reset. Why do new users need to > use git-reset? What is it they are after? Ok, so let's forget about git reset and let's focus on the features instead. If I got it right you suggested the features that people wants most often are uncommit, unadd/undelete and undo. Here's a new proposal (based on your input): uncommit: git jump <commit> (currently "git reset --soft <commit>") unadd/undelete: git unstage file (currently "git reset --mixed file" (with "git checkout file" for deleted files) undo: git checkout --force --clean <commit> (currently "git reset --hard <commit> && git clean -fd") So, let's try out some scenarios: 1) Newbie user clones/pulls a repository from somewhere. He hacks around and then things go bad, and he decides to scratch away everything he did to make sure things are like they're supposed to be. He'd then type "git checkout --force --clean master". If he didn't introduce new files, he would simply type "git checkout --force master" 2) Newbie adds some file to the index, then realise he added one too many. He wants to remove it from being added. He'd then type "git unstage file". 3) Average user creates a commit and suddenly realise he actually wanted to split that commit in two (he cannot use --amend, and he's not a rebase -i guru yet). Or he did a "temp" commit because he don't know about "git stash" yet and wants to discard it. He wants to simply go back to the previous state while keeping his changes in the index and the worktree. He'd then type "git jump HEAD^1". Feel free to add more scenarios! Philippe -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html