Re: Question about "git commit -a"
- From
Andreas Ericsson <ae@op5.se>
- Date
- Oct 5, 2007, 08:52 UTC
- Message-ID
- <4705FB52.3030208@op5.se>
- In-Reply-To
- <4d8e3fd30710050139j45a5a924t5c048994e3457c5f@mail.gmail.com>
Paolo Ciarrocchi wrote:
Show 25 quoted lines
> On 10/4/07, Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote: >> Hi, >> >> On Fri, 5 Oct 2007, Nguyen Thai Ngoc Duy wrote: >> >>> On 10/4/07, Wincent Colaiuta <win@wincent.com> wrote: >>>>> Am I wrong? >>>> About it being a majority, yes, I suspect so. >>>> >>> Maybe in the next survey we should include question "do you usually do >>> 'git commit' or 'git commit -a'" :-) >> Not meaning to discourage you, but it is a known fact that Linus does "git >> commit" without "-a" quite often. >> >> And if that were not bad enough for your plan, I myself omit "-a" >> regularly. So you would get a veto from me, too. > > So you are used to do something like (please correct me if I'm wrong): > - modify A > - modify B > - modify C > - modify D > - modify E > > $ git A B E
This isn't really a valid command. I'm not sure where you got it from.
> $ git add A B E (A, B and E are now in the staging area) > $ git commit -m "I just modified A,B and E"
I do something like that, except that for full-file commits I'd rather say
git commit -s A B E
I never pass -m to git commit. It's too easy to get into habit of being sloppy with historic documentation that way.
> $ git C D
Again not a valid command, but...
> $ git add C D (C and D are now in the staging area) > $ git commit -m "I just modified C and D" >
See above :)
There's also the times when I hack on some feature and find some small bug/easy-to-write-feature, so I make the change for that other thing, swap to a different branch and do 'git commit -s --interactive' to just break out that small fix.
Or if I have to add some logic to some other function in a file I've modified for other purposes and want it to be two separate commits, I just make the change and then run 'git commit --interactive' to make it two separate commits.
I just don't do 'git commit -a' for the same reason I don't do 'git commit -m', really. It tends to be habit-forming, and bisect has saved my arse enough times for me to *want* my changes to be small and isolated. Debugging a 5-line patch is so much more pleasant than debugging a 30k-lines one that spans over several different files.
-- Andreas Ericsson andreas.ericsson@op5.se OP5 AB www.op5.se Tel: +46 8-230225 Fax: +46 8-230231