]> git.cworth.org Git - hgbook-git/blobdiff - tour.mdwn
Fix wording (use diverged instead of derived)
[hgbook-git] / tour.mdwn
index ac6935269f93725256f6fbf065242895028dd703..e9e02776d86cddd7b8a19c9bd8815303584cfc4c 100644 (file)
--- a/tour.mdwn
+++ b/tour.mdwn
@@ -1,11 +1,11 @@
-## Chapter 2  
+## Chapter 2
 A tour of git: the basics
 
 ### 2.0 Copyright
 
 A tour of git: the basics
 
 ### 2.0 Copyright
 
-This document is a modified version originally known as "Distributed
-revision control with Mercurial" and originally authored by Bryan
-O’Sullivan. The original document was obtained from
+This document is a modified version of a document originally titled
+"Distributed revision control with Mercurial" and originally authored
+by Bryan O’Sullivan. The original document was obtained from
 <http://hgbook.red-bean.com/>.
 
 Copyright © 2006, 2007 Bryan O’Sullivan.
 <http://hgbook.red-bean.com/>.
 
 Copyright © 2006, 2007 Bryan O’Sullivan.
@@ -29,6 +29,16 @@ Changes made by Carl include the following:
     * Eliminate line numbers from examples
     * Modified to describe git instead of mercurial
 
     * Eliminate line numbers from examples
     * Modified to describe git instead of mercurial
 
+The source of this modified version can be obtained via git:
+
+       git clone git://cworth.org/git/hgbook-git
+
+or
+
+       git clone http://cworth.org/git/hgbook-git
+
+and can be [browsed online](http://git.cworth.org/git/hgbook-git)
+
 ### 2.1  Installing git on your system
 
 Prebuilt binary packages of git are available for many popular
 ### 2.1  Installing git on your system
 
 Prebuilt binary packages of git are available for many popular
@@ -50,25 +60,25 @@ install git with a single click. The package name to look for is
 often git, but is sometimes git-core, (due to an unfortunate name
 with git, meaning GNU Interactive Tools).
 
 often git, but is sometimes git-core, (due to an unfortunate name
 with git, meaning GNU Interactive Tools).
 
-  * Debian 
+  * Debian
 
        apt-get install git-core
 
 
        apt-get install git-core
 
-  * Fedora Core 
+  * Fedora Core
 
        yum install git
 
 
        yum install git
 
-  * Gentoo 
+  * Gentoo
 
        emerge git
 
 
        emerge git
 
-  * OpenSUSE 
+  * OpenSUSE
 
        yum install git
 
 
        yum install git
 
-  * Ubuntu 
+  * Ubuntu
 
 
-       apt-get install git
+       apt-get install git-core
 
 #### 2.1.2  Mac OS X
 
 
 #### 2.1.2  Mac OS X
 
@@ -90,7 +100,7 @@ installers. These include GitMe, a package to install the entire
 development environment necessary to work on improving the msysgit
 port of git, and WinGit, a package for installing just git itself
 without the development environment, (still in Alpha as of September
 development environment necessary to work on improving the msysgit
 port of git, and WinGit, a package for installing just git itself
 without the development environment, (still in Alpha as of September
-2008).
+2007).
 
 ### 2.2  Getting started
 
 
 ### 2.2  Getting started
 
@@ -100,7 +110,7 @@ more friendly to new users than versions 1.4 and older. If you aren't
 yet running version 1.5 or newer, it's highly recommended that you
 upgrade.
 
 yet running version 1.5 or newer, it's highly recommended that you
 upgrade.
 
-       $ git version   
+       $ git version
        git version 1.5.3.2
 
 #### 2.2.1  Built-in help
        git version 1.5.3.2
 
 #### 2.2.1  Built-in help
@@ -257,7 +267,7 @@ By default, this command prints a brief paragraph of output for each
 change to the project that was recorded. In git terminology, we
 call each of these recorded events a commit.
 
 change to the project that was recorded. In git terminology, we
 call each of these recorded events a commit.
 
-The fields in a record of output from “git log” are as follows. 
+The fields in a record of output from “git log” are as follows.
 
   * commit This field consists of a string of 40 hexadecimal characters.
     This is a unique identifier for referring to particular commits.
 
   * commit This field consists of a string of 40 hexadecimal characters.
     This is a unique identifier for referring to particular commits.
@@ -279,20 +289,6 @@ The fields in a record of output from “git log” are as follows.
 The default output printed by “git log” is purely a summary; it is
 missing a lot of detail.
 
 The default output printed by “git log” is purely a summary; it is
 missing a lot of detail.
 
-Figure [2.1][8] provides a graphical representation of the history of
-the hello repository, to make it a little easier to see which
-direction history is “flowing” in. We’ll be returning to this figure
-several times in this chapter and the chapter that follows.
-
-* * *
-
-![PIC][9]   
-
-Figure 2.1: 
-Graphical history of the hello repository
-
-* * *
-
 #### 2.4.1  Commits, revisions, and talking to other people
 
 As English is a notoriously sloppy language, and computer science has
 #### 2.4.1  Commits, revisions, and talking to other people
 
 As English is a notoriously sloppy language, and computer science has
@@ -343,7 +339,7 @@ in the current branch, "HEAD~", refers to the previous commit, and
 
 Another useful syntax is .. which can be used to specify a range of
 commits. So "origin..master" specifies everything that has been
 
 Another useful syntax is .. which can be used to specify a range of
 commits. So "origin..master" specifies everything that has been
-committed to master since it derived from origin.
+committed to master since it diverged from origin.
 
 #### 2.4.3  Viewing specific revisions
 
 
 #### 2.4.3  Viewing specific revisions
 
@@ -399,7 +395,7 @@ created:
 Another useful option is -n or --max-count which, unsurprisingly,
 limits the maximum number of commits to be displayed.
 
 Another useful option is -n or --max-count which, unsurprisingly,
 limits the maximum number of commits to be displayed.
 
-#### 2.4.3  More detailed information
+#### 2.4.5  More detailed information
 
 While the default information printed by “git log” is useful if you
 already know what you’re looking for, you may need to see more details
 
 While the default information printed by “git log” is useful if you
 already know what you’re looking for, you may need to see more details
@@ -564,7 +560,7 @@ scripted example this way. Since you’re not under the same constraint,
 you probably won’t want to use sed; simply use your preferred text
 editor to do the same thing.)
 
 you probably won’t want to use sed; simply use your preferred text
 editor to do the same thing.)
 
-       $ sed -i '/printf/a\\tprintf("hello again!\\n");' hello.c       
+       $ sed -i '/printf/a\\tprintf("hello again!\\n");' hello.c     
 
 The “git status” command will tell us what git knows about the files
 in the repository.
 
 The “git status” command will tell us what git knows about the files
 in the repository.
@@ -683,7 +679,7 @@ the files directly. Use your favorite editor to create a file called
 then it will be there already). The initial contents of your
 .gitconfig should look like this.
 
 then it will be there already). The initial contents of your
 .gitconfig should look like this.
 
-       # This is a git configuration file.   
+       # This is a git configuration file. 
        [user]
                name = Your Name
                email = you@example.com
        [user]
                name = Your Name
                email = you@example.com
@@ -934,7 +930,7 @@ command is coneptually the combination of two commands, "git fetch"
 and "git merge"; we can run those separately to examine the changes
 before applying them locally. First we do the fetch:
 
 and "git merge"; we can run those separately to examine the changes
 before applying them locally. First we do the fetch:
 
-       $ cd hello-pull   
+       $ cd hello-pull
        $ git fetch ../my-hello
        remote: Generating pack...
        Unpacking 3 objects...
        $ git fetch ../my-hello
        remote: Generating pack...
        Unpacking 3 objects...
@@ -1014,6 +1010,22 @@ the common case for the upstream-tracking scenario), then "git pull"
 with no explicit repository is suffcient, and it will default to
 pulling from the same repository as the original clone.
 
 with no explicit repository is suffcient, and it will default to
 pulling from the same repository as the original clone.
 
+[XXX: The structure of the preceding section follows that of the
+original hgbook. But an alternate structure that arranged to pull from
+the originally cloned repository (as would be common) would allow for
+more straightforward use of git's features. For example, instead of
+the silly FETCH_HEAD stuff it would allow for "git fetch" and "git log
+master..origin" to be a very nice replacement for "hg
+incoming". Similarly, below, "git log origin..master" would make a
+nice replacement for "hg outgoing" which is something I didn't offer
+at all. One could also use git's remotes with the myriad repositories
+as used here, but it would require doing things like "git remote add
+<some-name> ../hello-pull" and that seems like a bit much to introduce
+for a turorial of this level. If nothing else, if the above section
+seems a little intimidating, understand that it's because things are
+not presented in the most natural "git way", (and I'm a little too
+tired to fix it tonight).]
+
 #### 2.8.2  Checking out previous revisions
 
 If any users of mercurial are reading this, they might wonder if
 #### 2.8.2  Checking out previous revisions
 
 If any users of mercurial are reading this, they might wonder if
@@ -1105,7 +1117,7 @@ limited to working with local repositories. Each works in exactly the
 same fashion over a network connection; simply pass in a URL or an ssh
 host:/path/name specification instead of a local path.
 
 same fashion over a network connection; simply pass in a URL or an ssh
 host:/path/name specification instead of a local path.
 
-## Appendix D  
+## Appendix D
 Open Publication License
 
 Version 1.0, 8 June 1999 
 Open Publication License
 
 Version 1.0, 8 June 1999