From: Eugene Sajine Date: Tue, 19 Oct 2010 15:09:44 GMT Subject: Re: Git terminology: remote, add, track, stage, etc. Message-ID: In-Reply-To: <6FCE62E3-A27E-43D6-9FDF-0133ABD851C2@wincent.com> > Well, I'm not "assuming" that the complaints are justified; I'm talking from 3.5 years of personal experience using Git: > > - the concept of the "index": learnt it in 30 seconds, and sick of hearing people complain about it > > - terminology related to concepts of "tracking"/"remote(s)": discomfort almost every time I've had to deal with it > I concur. I 'm working with a couple of dozen of people and helping them to learn git and the most confusing part is the tracking/remote because of too many meanings of the same words in use. We are talking about the tracking branch which is "local remote", but we also can create a tracking branch that will track the remote but will be local like: $git branch -t dev origin/dev There should be some different consistent and not inter-crossing naming for the origin's master branch (on the remote side), for the local origin/master and for local master that is a tracking branch. The only way i found so far to explain this is actually via the naming syntax where having / in the name of the branch means remote branch. I was a bit surprised that i can create a local branch with a slash in the name - probably it should be prohibited. In this light pull command not updating the remote ref, but FETCH_HEAD is only adding to the overall confusion (I remember: it is pending change) Thanks, Eugene