git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH] Simplified GIT usage guide

From
PMPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Date
Dec 19, 2008, 00:02 UTC
Message-ID
<20081219000218.GA23990@linux.vnet.ibm.com>
In-Reply-To
<alpine.DEB.1.00.0812121952320.5873@eeepc-johanness>
On Fri, Dec 12, 2008 at 07:57:38PM +0100, Johannes Schindelin wrote:
Show 7 quoted lines
> Hi,
> 
> On Fri, 12 Dec 2008, David Howells wrote:
> 
> >  Documentation/git-haters-guide.txt | 1283 ++++++++++++++++++++++++++++++++++++
> 
> I am sure we want to have something like that in git.git.
So am I.  Except that I am not being sarcastic.  ;-)
> > +I don't really know what I'm doing with GIT either.
> 
> Strike the "either".
Not in my case.  And I am far from alone.

Let's face it, if you really do know what you are doing with GIT, you probably are not a GIT-hater, and thus not in the target audience for Dave's document.

Show 24 quoted lines
> > +===============
> > +OVERVIEW OF GIT
> > +===============
> 
> Your overview seems to be what "Git from the bottom up" is all about (see 
> the Git Wiki for more information where to find it).
> 
> From my experience with new users, this is exactly the wrong way to go 
> about it.  You don't introduce object types of the Git database before 
> telling the users what the heck they are good for.  And most users do not 
> need to bother with tree objects either, anyway.  So maybe you just tell 
> them what the heck the object types are good for, without even teaching 
> them the object types at all.
> 
> So I think that your document might do a good job scaring people away from 
> Git.  But I do not believe that your document, especially in the tone it 
> is written, does a good job of helping Git newbies.
> 
> Ciao,
> Dscho
> 
> P.S.: No, I haven't read the whole document.  Still, I think I am 
> qualified enough to estimate what the average reader's first impression 
> would be.

Not sure I agree. You might well know too much about git to understand what it looks like to a new user, particularly a new user with a couple decades experience with earlier source-code control system. (RCS, anyone?)

In particular, David's guide was quite helpful to me. It would have been even more helpful had it existed when I first tried (unsuccessfully) to use GIT. In particular, GIT's requirement that I tell it about new versions of existing files (either with "git add" or "git commit -a") was extremely counter-intuitive, and caused me no end of pain.

There might well be a need for different approaches for different types of newbies. Guys like myself who have used source-code control tools of one type or another for a couple decades can -definitely- benefit from Dave's approach. In particular, Dave's broad-brush description of GIT's internals is enough to explain why the heck I should have to tell GIT about a new version of a file THAT IT ALREADY KNOWS ABOUT!!! "Why should I need to add a file that is already there???"

Don't get me wrong -- as I have gained experience with GIT over the past six months or so, I have found a number of situations where GIT's insisting that I tell it about new versions of existing files has been helpful, for example, when I suddenly realize that a given change should be applied in multiple commits, with different groups of files in each commit. In that case, doing a series of "git add" and "git commit" commands works very nicely.

So I am -not- suggesting changing git. Once you get used to it, it works out well. I suppose that you could have a "git new-version" command as a synonym for "git add", but I doubt that it is worth it.

But the "git add" issue turned me away from git several times in the past three years. And for quite some time, I used git in read-only mode, because very strange things happened (from my viewpoint) whenever I tried changing anything.

After using GIT reasonably heavily for the past six months, I am actually learning to like it, and have even starting using it for my own projects. But my experience is that git is at best an acquired taste for those of us who grew up with traditional source-code control systems. Such people will benefit greatly from a git-haters guide, and git's user population will grow as a result.

							Thanx, Paul
Previous: Ping YinNext: Junio C Hamano
Message 13 of 38 in “Simplified GIT usage guide”
  1. Simplified GIT usage guideDavid Howells, Dec 12, 2008
  2. Miklos VajnaDec 12, 2008
  3. David HowellsDec 12, 2008
  4. Miklos VajnaDec 12, 2008
  5. David HowellsDec 13, 2008
  6. Miklos VajnaDec 13, 2008
  7. Johannes SchindelinDec 12, 2008
  8. David HowellsDec 12, 2008
  9. Sverre RabbelierDec 12, 2008
  10. Aidan Van DykDec 12, 2008
  11. Nick AndrewDec 13, 2008
  12. Ping YinDec 14, 2008
  13. Paul E. McKenneyDec 19, 2008
  14. Junio C HamanoDec 19, 2008
  15. Paul E. McKenneyDec 19, 2008
  16. valdis.kletnieks@vt.eduDec 24, 2008
  17. Johannes SchindelinDec 19, 2008
  18. Paul E. McKenneyDec 19, 2008
  19. Jakub NarebskiDec 12, 2008
  20. David HowellsDec 13, 2008
  21. Sverre RabbelierDec 13, 2008
  22. Willy TarreauDec 19, 2008
  23. Nicolas PitreDec 13, 2008
  24. J. Bruce FieldsDec 12, 2008
  25. J. Bruce FieldsDec 13, 2008
  26. David HowellsDec 13, 2008
  27. Jeff GarzikDec 12, 2008
  28. Chris FriesenDec 12, 2008
  29. David HowellsDec 13, 2008
  30. Junio C HamanoDec 13, 2008
  31. Nick AndrewDec 13, 2008
  32. Nicolas PitreDec 12, 2008
  33. Junio C HamanoDec 13, 2008
  34. Matthieu MoyDec 14, 2008
  35. Marcin SlusarzDec 14, 2008
  36. C. Scott AnanianDec 19, 2008
  37. Michael J GruberDec 19, 2008
  38. C. Scott AnanianDec 19, 2008

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.