X-Git-Url: https://git.notmuchmail.org/git?a=blobdiff_plain;f=tour.mdwn;h=9ba65bb0e6bf824c47c7646dc0f5e32125382d1a;hb=c7047c12863ec8d5d883b754b1f6d33f901fd3e2;hp=ac6935269f93725256f6fbf065242895028dd703;hpb=1f3c9252faba1f5cc0ebe90f6b6de37b46c4b83d;p=hgbook-git
diff --git a/tour.mdwn b/tour.mdwn
index ac69352..9ba65bb 100644
--- a/tour.mdwn
+++ b/tour.mdwn
@@ -1,11 +1,11 @@
-## Chapter 2
+## Chapter 2
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
.
Copyright © 2006, 2007 Bryan OâSullivan.
@@ -29,6 +29,15 @@ Changes made by Carl include the following:
* 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
@@ -50,23 +59,23 @@ 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).
- * Debian
+ * Debian
apt-get install git-core
- * Fedora Core
+ * Fedora Core
yum install git
- * Gentoo
+ * Gentoo
emerge git
- * OpenSUSE
+ * OpenSUSE
yum install git
- * Ubuntu
+ * Ubuntu
apt-get install git
@@ -100,7 +109,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.
- $ git version
+ $ git version
git version 1.5.3.2
#### 2.2.1 Built-in help
@@ -257,7 +266,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.
-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.
@@ -279,20 +288,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.
-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
@@ -564,7 +559,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.)
- $ 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.
@@ -683,7 +678,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.
- # This is a git configuration file.
+ # This is a git configuration file.
[user]
name = Your Name
email = you@example.com
@@ -934,7 +929,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:
- $ cd hello-pull
+ $ cd hello-pull
$ git fetch ../my-hello
remote: Generating pack...
Unpacking 3 objects...
@@ -1014,6 +1009,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.
+[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
+ ../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
@@ -1105,7 +1116,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.
-## Appendix D
+## Appendix D
Open Publication License
Version 1.0, 8 June 1999