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

Re: [DRAFT] Branching and merging with git

From
Theodore Tso <tytso@mit.edu>
Date
Jan 8, 2007, 14:03 UTC
Message-ID
<20070108140305.GE32756@thunk.org>
In-Reply-To
<20070108023511.GI18009@fieldses.org>
On Sun, Jan 07, 2007 at 09:35:11PM -0500, J. Bruce Fields wrote:
Show 9 quoted lines
> chapters 1 and 2: "Read-only" operations:
> 
> 	clone, fetch, the commit DAG, etc.; material that could be
> 	useful to a linux kernel tester, for example.  This also
> 	includes lots of stuff about branch manipulation and fetching,
> 	just because that's necessary to keep a repo up to date and
> 	check out random commits.  Once we have "git remote" and
> 	disconnected checkouts most of this could be postponed till
> 	later.

I would add a QuickStart Chapter before you start going into the "read-only" oeperations. It would show how to create a completely empty repository, and add a few commits. It would also demonstrate how to clone an example repository (with a fixed set of contents, stored at git://git.kernel.org/pub/scm/git/example and add a commit using "git commit -a".

The basic idea is to show the user that git really isn't that hard, *before* you start diving into a lot of details. If you don't tell a user how to make a commit until Chapter 3, he/she will assume it's because it's Really Hard, and you may end up losing them before that.

Show 5 quoted lines
> Chapter 3: "Read-write" operations:
> 
> 	Read-write stuff: creating commits (basic mention of index),
> 	handling merges, git-gc, ending with distributed stuff:
> 	importing and exporting patches, pull and push, etc.

At least some discussions of branches needs to happen here; it's really important to talk about different workflows, and how you use branches as part of your read-write operations. Some folks might or might not use topic branches, but the concept of using temporary branches to try things out is critical.

Show 11 quoted lines
> Chapter 4 (unwritten): interactions with other VCS's
> 
> 	cvs, subversion.  Also some of us use track projects with git
> 	even when all we've got is a sequence of release tarballs to
> 	track, and that might be worth documenting.
> 
> Chapter 6 (unwritten): git internals
> 
> 	I intend to just do a wholesale import of either tutorial-2.txt,
> 	core-tutorial.txt, or the README, or some combination thereof,
> 	but can't decide which.
You might want to consider putting these two chapters into appendices.
						- Ted
Previous: David KågedalNext: J. Bruce Fields
Message 21 of 37 in “[DRAFT] Branching and merging with git”
  1. linux@horizon.comNov 16, 2006
  2. Jakub NarebskiNov 17, 2006
  3. Jakub NarebskiNov 17, 2006
  4. Jakub NarebskiNov 17, 2006
  5. Theodore TsoNov 17, 2006
  6. SeanNov 17, 2006
  7. Nguyen Thai Ngoc DuyNov 17, 2006
  8. Marko MacekNov 17, 2006
  9. Petr BaudisNov 17, 2006
  10. SeanNov 17, 2006
  11. J. Bruce FieldsNov 17, 2006
  12. Jakub NarebskiNov 17, 2006
  13. Theodore TsoJan 3, 2007
  14. Junio C HamanoJan 3, 2007
  15. linux@horizon.comJan 4, 2007
  16. Junio C HamanoJan 4, 2007
  17. J. Bruce FieldsJan 7, 2007
  18. Junio C HamanoJan 8, 2007
  19. J. Bruce FieldsJan 8, 2007
  20. David KågedalJan 8, 2007
  21. Theodore TsoJan 8, 2007
  22. J. Bruce FieldsJan 9, 2007
  23. Andreas EricssonJan 9, 2007
  24. J. Bruce FieldsJan 9, 2007
  25. Theodore TsoJan 9, 2007
  26. J. Bruce FieldsJan 10, 2007
  27. Theodore TsoJan 8, 2007
  28. J. Bruce FieldsJan 8, 2007
  29. Jakub NarebskiJan 8, 2007
  30. Guilhem BonnefilleJan 8, 2007
  31. J. Bruce FieldsJan 9, 2007
  32. Petr BaudisNov 17, 2006
  33. SeanNov 17, 2006
  34. Petr BaudisNov 17, 2006
  35. Chris RiddochNov 17, 2006
  36. Petr BaudisNov 17, 2006
  37. SeanNov 17, 2006

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.