Re: best git practices, was Re: Git User's Survey 2007 unfinished summary continued
- From
- Federico Mena Quintero <federico@novell.com>
- Date
- Oct 25, 2007, 16:16 UTC
- Message-ID
- <1193328964.4522.361.camel@cacharro.xalalinux.org>
- In-Reply-To
- <8fe92b430710241648j609d4d00x121836001a69d1e6@mail.gmail.com>
On Thu, 2007-10-25 at 01:48 +0200, Jakub Narebski wrote:
> git push is opposite (almost) to git fetch, not to git pull.
This asymmetry is also part of what makes Git hard to learn at first.
There is a lot of new terminology to learn:
refs remotes fast-forwarding rebasing origin master HEAD (which is not quite the same as good old CVS's HEAD) etc.
The solution is not, "have a good glossary" (which is needed, anyway), but to make the documentation introduce those concepts at the right time, instead of being chock-full of them from the beginning :)
Carl Worth's git-ification of the Mercurial book chapter is very nice in this regard; it doesn't dump all the terminology on you, but rather takes its time to introduce each concept when you are ready to know about it [1].
It's kind of sad that the first thing "man git-push" tells you is this:
git-push - Update remote refs along with associated objects
So you go, "refs? associated objects? whaaaaaat?" :)
Imagine someone learning the GIMP a few versions ago. "I want to make this photo sharper". You go to the Filters/Enhance menu and you see
Laplace Sobel Sharpen Unsharp mask
All of those sharpen the image. Which one do you pick?
[1] http://cworth.org/hgbook-git/
Federico