Minor preface fixes.
[gitmagic.git] / preface.txt
blob800eef01d68052b2107f537139a804f26015c96e
1 = Git Magic =
2 Ben Lynn
3 August 2007
5 == Preface ==
7 http://git.or.cz/[Git] is a version control Swiss army knife. A reliable versatile multipurpose revision control tool whose extraordinary flexibility makes it tricky to learn, let alone master. I'm recording what I've figured out so far in these pages.
9 As Arthur C. Clarke observed, any sufficiently advanced technology is indistinguishable from magic. This is a great way to approach Git: newbies can ignore its inner workings and view Git as a gizmo that can amaze friends and infuriate enemies with its wondrous abilities.
11 Rather than go into details, we provide rough instructions for particular effects. After repeated use, gradually you will understand how each trick works, and how to tailor the recipes for your needs.
13 === Thanks! ===
15 Kudos to Dustin Sallings, Alberto Bertogli, and Douglas Livingstone for suggestions and improvements. [If I've left you out, please tell me because I often forget to update this section.]
17 .About Git
19 - http://git.or.cz[Git homepage], which hosts
20  * http://www.kernel.org/pub/software/scm/git/docs/user-manual.html[The official Git user manual]
21  * http://www.kernel.org/pub/software/scm/git/docs/git.html[Git manual pages]
22  * http://www.kernel.org/pub/software/scm/git/docs/tutorial.html[Tutorial]
23  * http://git.or.cz/gitwiki/GitHistory[Historical background]
24 - http://en.wikipedia.org/wiki/Git_%28software%29[Wikipedia entry on Git].
25 - http://eagain.net/articles/git-for-computer-scientists/[Git For Computer Scientists] by Tommi Virtanen.
26 - http://www.selenic.com/mercurial/wiki/index.cgi/UnderstandingMercurial[Understanding Mercurial], a highly accessible introduction to distributed version control.
27 - http://lkml.org/lkml/2005/4/6/121[Linux Kernel Mailing List post] describing the chain of events that led to Git. The entire thread is a fascinating archaeological site for Git historians.
29 .Comparisons
31 - Git versus Subversion: articles by
32  * http://git.or.cz/gitwiki/GitSvnComparsion[Shawn Pearce]
33  * http://mjtsai.com/blog/2007/07/15/subversion-to-git/[Michael Tsai]
34  * http://utsl.gen.nz/talks/git-svn/intro.html[Sam Vilain]
35 - Git versus Mercurial: articles by
36  * http://tytso.livejournal.com/29467.html[Ted Tso]
37  * http://www.jukie.net/~bart/blog/git-vs-hg[Bart Trojanowski]
39 - http://subversion.tigris.org/subversion-linus.html[Subversion vs itself]: in response to its defence of Subversion's limitations, I claim Git is right for _every_ project. I also claim where there is more than one programmer, there is decentralized development.
41 Saying you should use systems that don't scale well when your project is tiny is like saying you should use Roman numerals for calculations involving small numbers.
43 .Other guides
45  - http://wiki.sourcemage.org/Git_Guide[Git Guide] at SourceMage.
46  - http://git.or.cz/course/svn.html[Git crash course for Subversion users]
47  - http://linux.yyz.us/git-howto.html[Kernel Hacker's Guide to Git] by Jeff Garzik.
48  - http://wiki.samba.org/index.php/Using_Git_for_Samba_Development[Using Git for Samba Development]
49  - http://polywww.in2p3.fr/~gaycken/Calice/Software/my_git_workflow.html[Advanced Git work flow] described by Götz Gaycken.
51 .Free Git hosting
53  - http://repo.or.cz/[http://repo.or.cz/] provides free Git hosting for free projects,
54 http://repo.or.cz/w/gitmagic.git[including this guide].
55  - http://gitorious.org/[http://gitorious.org/] is another Git hosting site aimed at open-source projects.
56  - http://github.com/[http://github.com/] is a newer, prettier Git hosting site that also supports private projects. Some of its UI features have led one blogger to describe http://tomayko.com/writings/github-is-myspace-for-hackers[GitHub as a combination of social networking and source control]. It looks promising, but is not accepting new participants at the moment.