Subject: Did anyone have trouble learning the idea of local vs. remote branches?

From: Shawn Pearce <[email-masked]>
Date: Tue, 7 Nov 2006 12:24:50 -0500

Today I was talking with someone that I collaborate with through
Git and they still seemed to not get the idea that all branches
in their repository are local, and that at least a 'git fetch'
is needed to update the local tracking branches to the version
in the central repository that we collaborate through.  And this
isn't the first time we've had such discussions.

It dawned on me that this person still hasn't grasped the idea
behind fetch.  A few other users that I know also have commented on
how difficult fetch is to learn.

Most seemed to think that fetch would update their working directory,
or their current branch, as there is no other way to "download
changes from origin".  They also seem to expect their local tracking
branch to automatically update, especially when invoking
`git checkout -b foo tracking-branch`.

Clearly there is a gap in communicating these ideas in a way that
they can be understood by users.  Of course in at least one case
the users just isn't reading any Git documentation and plows ahead
as though it were CVS ('cause everything's "just like CVS") *sigh*.

--