Merge branch 'maint'
authorJunio C Hamano <junkio@cox.net>
Wed, 29 Nov 2006 20:16:55 +0000 (12:16 -0800)
committerJunio C Hamano <junkio@cox.net>
Wed, 29 Nov 2006 20:16:55 +0000 (12:16 -0800)
* branch 'maint':
Document git-repo-config --bool/--int options.
tutorial: talk about user.name early and don't start with commit -a
git-blame: fix rev parameter handling.

1  2 
Documentation/tutorial.txt
index 35af81a3debc9ebd3c5475343cb5ca293b414b5d,6555e58882a0056c1c0ab83471481d5b512c5863..fe4491de41d1bcaeb56d5152e580eb483b0a12b0
@@@ -11,6 -11,18 +11,18 @@@ diff" with
  $ man git-diff
  ------------------------------------------------
  
+ It is a good idea to introduce yourself to git before doing any
+ operation.  The easiest way to do so is:
+ ------------------------------------------------
+ $ cat >~/.gitconfig <<\EOF
+ [user]
+       name = Your Name Comes Here
+       email = you@yourdomain.example.com
+ EOF
+ ------------------------------------------------
  Importing a new project
  -----------------------
  
@@@ -31,7 -43,8 +43,8 @@@ defaulting to local storage are
  
  You've now initialized the working directory--you may notice a new
  directory created, named ".git".  Tell git that you want it to track
- every file under the current directory with
+ every file under the current directory with (notice the dot '.'
+ that means the current directory):
  
  ------------------------------------------------
  $ git add .
@@@ -40,7 -53,7 +53,7 @@@
  Finally,
  
  ------------------------------------------------
- $ git commit -a
+ $ git commit
  ------------------------------------------------
  
  will prompt you for a commit message, then record the current state
@@@ -55,11 -68,17 +68,17 @@@ $ git dif
  to review your changes.  When you're done,
  
  ------------------------------------------------
- $ git commit -a
+ $ git commit file1 file2...
  ------------------------------------------------
  
  will again prompt your for a message describing the change, and then
- record the new versions of the modified files.
+ record the new versions of the files you listed.  It is cumbersome
+ to list all files and you can say `-a` (which stands for 'all')
+ instead.
+ ------------------------------------------------
+ $ git commit -a
+ ------------------------------------------------
  
  A note on commit messages: Though not required, it's a good idea to
  begin the commit message with a single short (less than 50 character)
@@@ -75,7 -94,7 +94,7 @@@ $ git add path/to/new/fil
  ------------------------------------------------
  
  then commit as usual.  No special command is required when removing a
- file; just remove it, then commit.
+ file; just remove it, then tell `commit` about the file as usual.
  
  At any point you can view the history of your changes using
  
@@@ -209,28 -228,29 +228,28 @@@ at /home/bob/myrepo.  She does this wit
  
  ------------------------------------------------
  $ cd /home/alice/project
 -$ git pull /home/bob/myrepo
 +$ git pull /home/bob/myrepo master
  ------------------------------------------------
  
 -This actually pulls changes from the branch in Bob's repository named
 -"master".  Alice could request a different branch by adding the name
 -of the branch to the end of the git pull command line.
 +This merges the changes from Bob's "master" branch into Alice's
 +current branch.  If Alice has made her own changes in the meantime,
 +then she may need to manually fix any conflicts.  (Note that the
 +"master" argument in the above command is actually unnecessary, as it
 +is the default.)
  
 -This merges Bob's changes into her repository; "git log" will
 -now show the new commits.  If Alice has made her own changes in the
 -meantime, then Bob's changes will be merged in, and she will need to
 -manually fix any conflicts.
 +The "pull" command thus performs two operations: it fetches changes
 +from a remote branch, then merges them into the current branch.
  
 -A more cautious Alice might wish to examine Bob's changes before
 -pulling them.  She can do this by creating a temporary branch just
 -for the purpose of studying Bob's changes:
 +You can perform the first operation alone using the "git fetch"
 +command.  For example, Alice could create a temporary branch just to
 +track Bob's changes, without merging them with her own, using:
  
  -------------------------------------
  $ git fetch /home/bob/myrepo master:bob-incoming
  -------------------------------------
  
  which fetches the changes from Bob's master branch into a new branch
 -named bob-incoming.  (Unlike git pull, git fetch just fetches a copy
 -of Bob's line of development without doing any merging).  Then
 +named bob-incoming.  Then
  
  -------------------------------------
  $ git log -p master..bob-incoming
  shows a list of all the changes that Bob made since he branched from
  Alice's master branch.
  
 -After examining those changes, and possibly fixing things, Alice can
 -pull the changes into her master branch:
 +After examining those changes, and possibly fixing things, Alice
 +could pull the changes into her master branch:
  
  -------------------------------------
  $ git checkout master
@@@ -250,18 -270,6 +269,18 @@@ $ git pull . bob-incomin
  The last command is a pull from the "bob-incoming" branch in Alice's
  own repository.
  
 +Alice could also perform both steps at once with:
 +
 +-------------------------------------
 +$ git pull /home/bob/myrepo master:bob-incoming
 +-------------------------------------
 +
 +This is just like the "git pull /home/bob/myrepo master" that we saw
 +before, except that it also stores the unmerged changes from bob's
 +master branch in bob-incoming before merging them into Alice's
 +current branch.  Note that git pull always merges into the current
 +branch, regardless of what else is given on the commandline.
 +
  Later, Bob can update his repo with Alice's latest changes using
  
  -------------------------------------