git user's guide?

I've been trying to study up on git recently. There don't seem to be any books available on it. I've read a few introductions. I had a few minutes to play with it last week, and I got to the point where I thought: "Okay. I want to do X. I know there's a way, how do I do it?" The only thing I could find was a long list of individual git commands. There seem to be three different things (from the user's point of view) that are operated on by git commands.
  • The database (things that have been committed)
  • The index
  • The working directory
If the man page synopsis of each command explicitly said what operations are performed on each of these three objects, then I think I'd be set. But the summaries are ambiguous. One problem is that most commands have a common option that is used to say if you want to also update to skip updating the index or working directory, etc. So I think my next step is to make a table of the most common commands, with three columns, summarizing the affects that each command has on each of the three different parts of a git workspace. Roman just recommended this page. I haven't read it yet.
Comments:

I suppose you need to use git, but if you can choose, I want to tell you mercurial is much more sane, at least its command line interface is. While git and mercurial are nearly equivalent in their functionality, git command line interface confused me endlessly, while it took me less than 5 minutes to get going with mercurial and it hardly gets in the way after that...

Posted by Seongbae Park on May 06, 2008 at 05:44 PM PDT #

There is "Git User's Manual" at
http://www.kernel.org/pub/software/scm/git/docs/user-manual.html

As to Mercurial vs Git: Mercurial is simpler, but I think it is also caused by the fact that it has less advanced features (like multiple branches in single repository).

Posted by Jakub Narebski on May 06, 2008 at 10:17 PM PDT #

As to Mercurial vs Git: my biggest problems with Mercurial is that it is like a modern car: there's nothing under the hood I can tinker with. It could've been welded shut for all I care. Why is it
important? Well, as with cars -- as long as it works you don't care, but when it suddenly stops in the middle of nowhere and the only thing you can do is hope for the roadside assistant to answer your call -- you're screwed. With Git, as with my 1990 Jetta,
my roadside assistance is always just one hood pop away. And that's \*so\* empowering that I'm glad to pay the price of a few extra keystroke any minute now.

That said, I do realize that for the 90% of developers in the world it all just doesn't matter. All they care is a nice pair of cupholders.

Posted by Roman V. Shaposhnik on May 13, 2008 at 02:58 PM PDT #

Post a Comment:
Comments are closed for this entry.
About

Chris Quenelle

Search

Archives
« April 2014
SunMonTueWedThuFriSat
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
Today