>> "I want to discard my changes" --> git reset --all HEAD^ > > That is discarding your changes and also the last commit. Yes, of course. >> "I want to discard the last commit" --> git reset --index HEAD^ > > I do not think this has a clear meaning. "discard the last commit but > leave the contents in the working tree. I do not care a newly added files > are forgotten by the index, I'll remember to re-add them if I need to" is > what you are saying here, but the word "index" does not hint it. When > used as an option name, "--index" means "this command usually works on or > touches working tree but for this invocation please also affect the index"; > "please look at or affect _only_ the index" is usually spelled "--cached". Well, it's certainly a bit more descriptive and easy to remember than "--mixed". I understand it could confuse people because of the other commands, but maybe something like "--index-only"? > In any case, I think your proposal makes it even worse than the current > state, and you should aim higher. Why worse? I'd understand if you said it's doesn't improve it enough for it to be worth the change tho. Anyway, my proposal was to get a discussion going, and I'm all for aiming higher if there's a way. What do you propose instead? You seemed to imply we'd remove --soft and --merge, and make --keep as an option for --hard but named differently, something like --keep-changes. Maybe I didn't fully understand. Mathieu even suggested that it'd have the behavior of --keep by default, and that you have to add --force to get today's --hard behavior, which sounds like a good idea to me (avoid destructive behavior by default). 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