Re: [BUG] - "git commit --amend" commits, when exiting the editor with no changes written
- From
Avery Pennarun <apenwarr@gmail.com>
- Date
- Feb 2, 2010, 20:27 UTC
- Message-ID
- <32541b131002021227o1ec9f369w6096e85382857b8a@mail.gmail.com>
- In-Reply-To
- <8c9a061002021214j673afbc8vfa5d941fba518648@mail.gmail.com>
On Tue, Feb 2, 2010 at 3:14 PM, Jacob Helwig <jacob.helwig@gmail.com> wrote:
Show 14 quoted lines
> On Tue, Feb 2, 2010 at 12:07, Eugene Sajine <euguess@gmail.com> wrote: >> When git commit --amend is executed it fires up vi so i can change the >> commit message. If I have something staged, then when I'm exiting vi >> using :q (without doing/writing any changes), it still commits >> everything staged with old message. >> >> I believe it should actually abort amending and return to the state >> before the "git commit --amend" was issued. > > I don't think this is actually the right way to go. A _very_ common > use case for "commit --amend" is to add things to the previous commit, > without changing the commit message at all. Yes, you can avoid having > to fire up the editor at all in this case, but it's still a perfectly > valid thing to want to do.
I agree and I do this all the time. However, I've also done it accidentally before I learned the "remove the commit message and save" trick.
Perhaps what's really missing is more documentation of how to "unamend" if you change your mind :) I happen to know about "git reset HEAD@{1}" but it's not terribly obvious.
Avery