Subject: More Beginning Git Questions

From: Jon Forrest <[email-masked]>
Date: Fri, 23 Sep 2011 07:41:49 -0700

I'm reading the git tutorial at
http://schacon.github.com/git/gittutorial.html
I'm a very literal reader so if something isn't clear
to me, I try to make the effort to understand it.

In reading about what happens when Alice pulls from Bob,
it says:

"Note that in general, Alice would want her local changes committed 
before initiating this "pull"."

This is an interesting statement. I'll come back to it shortly.

"If Bob’s work conflicts with what Alice did since their histories forked,"

Does this include both changes that Alice has checked in to
her repository and uncommitted changes in her working tree?

"Alice will use her working tree and the index to resolve conflicts,"

How does Alice use her working tree and index? Does this mean
she makes changes to her working tree so that the conflicts
no longer exist? How does the index play a part in this?
I thought that the index gets populated only when a
"git add" is done. Does Alice need to do "git add" as part
of the conflict resolution process?

"and existing local changes will interfere with the conflict resolution 
process"

Are "local changes" the changes in the working tree, the
uncommitted changes that Alice has added to her index, or
changes that Alice has committed to her local repository?

"(git will still perform the fetch but will refuse to merge
--- Alice will have to get rid of her local changes in
some way and pull again when this happens)."

Again, I'm not clear on which local changes this is talking
about. In other words, when the merge part of the pull is
done, what is examined locally? The first sentence about
Alice committing her local changes before pulling is what
got me thinking about all this.

I'm sorry if these are too pedantic.

Jon Forrest