Re: How to prevent empty git commit --amend
- From
Ivo Anjo <ivo.anjo@ist.utl.pt>
- Date
- Jan 13, 2015, 10:22 UTC
- Message-ID
- <CA+iO_8niTScwtYVRV-5wBNHOzr08k=1Vug0yH3+vQ-Y9GgyJKg@mail.gmail.com>
- In-Reply-To
- <CACx-yZ12mn-EyR5Mx9rmACLtyeYWRdyef4jDqdFAPzeQDm03ug@mail.gmail.com>
Hello Daniel,
Thanks for your answer!
My issue is not with cancelling the amend commit, is that because the amend commit already lists changes to the files I am working on (those changes that already went in the commit I was ammending), I don't realize that I forgot to add what I changed. For instance:
$ echo "Hello" >> readme.txt $ git add readme.txt $ git commit -m "Add readme"
$ echo "World" >> readme.txt $ git commit --amend
now if I just save and close the editor git will say it committed successfully (which it did), but in reality nothing at all happened.
Of course I can check the status or some other things before/after the amend commit, but since end up doing this error sometimes I was hoping I could set up git to stop me from doing it.
Ivo Anjo
On Tue, Jan 13, 2015 at 8:59 AM, Daniel Knittl-Frank <knittl89@googlemail.com> wrote:
Show 32 quoted lines
> > On Tue, Jan 13, 2015 at 9:56 AM, Ivo Anjo <ivo.anjo@ist.utl.pt> wrote: > > Hello, > > > > I sometimes get a bit distracted when making amends. Once or twice per > > week I do a commit, then realize I added something I shouldn't, or > > forgot to add a line here or there, and then I do a git commit --amend > > to fix it. > > > > The thing is, a lot of times I forget to stage the modifications I did. > > And here is my issue: *git commit* refuses to work when there's > > nothing to commit, but *git commit --amend* happily pops up the editor > > and says you have committed something when you did not add/change > > anything. > > > > Is there a way to prevent a *git commit --amend** with nothing to > > commit from working? > > If not, I would like to suggest that this feature would be very helpful :) > > Hi Ivo, > > simply delete all text from the commit editor and exit/save the empty > file. This will abort the commit. > > The same logic applies to git rebase --interactive: deleting > everything will do nothing. > > Regards, > Daniel > > -- > typed with http://neo-layout.org