From: Jeff King Date: Tue, 18 Dec 2012 16:30:57 GMT Subject: Re: Proposal: create meaningful aliases for git reset's hard/soft/mixed Message-ID: <20121218163057.GB20122@sigill.intra.peff.net> In-Reply-To: On Mon, Dec 17, 2012 at 10:34:07PM -0800, Martin von Zweigbergk wrote: > On Wed, Nov 23, 2011 at 10:51 AM, Junio C Hamano wrote: > > > > I am guilty of introducing "git reset --soft HEAD^" before I invented > > "commit --amend" during v1.3.0 timeframe to solve the issue "soft" reset > > originally wanted to. > > I do use "commit --amend" a lot, but I still appreciate having "reset > --soft". For example, to squash the last few commits: > > git reset --soft HEAD^^^ && git commit --amend Me too. Another one I use is: $ hack hack hack $ git commit -m wip $ git checkout something-else ... time passes ... $ git checkout orig-branch $ git reset --soft HEAD^ $ hack hack hack $ git diff $ git add -p $ git commit which ends up with the same history as "commit --amend", but in between the reset and the commit, the bogus WIP commit is thrown away entirely. And things like "diff" and "add -p" do what you want, instead of showing your progress on top of the WIP. -Peff