From: Andreas Ericsson Date: Fri, 05 Oct 2007 08:52:34 GMT Subject: Re: Question about "git commit -a" Message-ID: <4705FB52.3030208@op5.se> In-Reply-To: <4d8e3fd30710050139j45a5a924t5c048994e3457c5f@mail.gmail.com> Paolo Ciarrocchi wrote: > On 10/4/07, Johannes Schindelin wrote: >> Hi, >> >> On Fri, 5 Oct 2007, Nguyen Thai Ngoc Duy wrote: >> >>> On 10/4/07, Wincent Colaiuta 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