Paolo Ciarrocchi wrote:
On 10/5/07, Andreas Ericsson <ae@xxxxxx> wrote:
[...]
As for the "git commit should default to -a" discussion, I think it's pretty
clear where I stand ;-)
Fair enough.
Another try to have an easy explanation of how the staging area works:
paolo@paolo-desktop:~/HowIndexWorks$ ls
A B C D E F G
Now I edit A,B,C,D and E:
$ echo A >> A
$ echo B >> B
$ echo C >> C
$ echo D >> D
$ echo E >> E
I now realize want to only commit the changes I did to A,B,C,D.
First step is to place A,B,C and D into the staging area:
$ git add A B C D
Now I can commit:
$ git commitpaolo@paolo-desktop:~/HowIndexWorks$ git commit
Created commit 16032dc: I modified A,B,C and D
4 files changed, 4 insertions(+), 0 deletions(-)
It's now time to work on F and G:
$ echo F >> F
$ echo G >> G
Current status is:
paolo@paolo-desktop:~/HowIndexWorks$ git status
# On branch master
# Changed but not updated:
# (use "git add <file>..." to update what will be committed)
#
# modified: E
# modified: F
# modified: G
Instead of adding E,F and G to the staging are and then commit them in
two steps I can using a single command:
$ git commit E F G (in this case it's equivalent to git commit -a)
He. It's like comparing a duracell battery to the sun, but yes, that's
one of the operations where the index is involved. But after doing your
git-add thing above, you could also have continued hacking on A B C D,
and git would only have committed the state where you did "git add".
When you stop to think about this, you'll realize that it's a really
powerful thing, as it lets you keep on hacking even when you don't
really know where you'll end up.
--
Andreas Ericsson andreas.ericsson@xxxxxx
OP5 AB www.op5.se
Tel: +46 8-230225 Fax: +46 8-230231
-
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html