More Beginning Git Questions
- From
Jon Forrest <nobozo@gmail.com>
- Date
- Sep 23, 2011, 14:41 UTC
- Message-ID
- <4E7C9AAD.7060209@gmail.com>
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