Autogenerated HTML docs for v1.4.4.1-g9f6d
authorJunio C Hamano <junio@hera.kernel.org>
Sun, 26 Nov 2006 07:28:29 +0000 (07:28 +0000)
committerJunio C Hamano <junio@hera.kernel.org>
Sun, 26 Nov 2006 07:28:29 +0000 (07:28 +0000)
tutorial.html
tutorial.txt

index 9ef23928a6c384722f8bfbbc6d7304cfaef0fa73..7570095f99ccf3ef6b43cad67134a9eff8fa925d 100644 (file)
@@ -439,33 +439,32 @@ at /home/bob/myrepo.  She does this with:</p>
 <div class="listingblock">\r
 <div class="content">\r
 <pre><tt>$ cd /home/alice/project\r
-$ git pull /home/bob/myrepo</tt></pre>\r
+$ git pull /home/bob/myrepo master</tt></pre>\r
 </div></div>\r
-<p>This actually pulls changes from the branch in Bob's repository named\r
-"master".  Alice could request a different branch by adding the name\r
-of the branch to the end of the git pull command line.</p>\r
-<p>This merges Bob's changes into her repository; "git log" will\r
-now show the new commits.  If Alice has made her own changes in the\r
-meantime, then Bob's changes will be merged in, and she will need to\r
-manually fix any conflicts.</p>\r
-<p>A more cautious Alice might wish to examine Bob's changes before\r
-pulling them.  She can do this by creating a temporary branch just\r
-for the purpose of studying Bob's changes:</p>\r
+<p>This merges the changes from Bob's "master" branch into Alice's\r
+current branch.  If Alice has made her own changes in the meantime,\r
+then she may need to manually fix any conflicts.  (Note that the\r
+"master" argument in the above command is actually unnecessary, as it\r
+is the default.)</p>\r
+<p>The "pull" command thus performs two operations: it fetches changes\r
+from a remote branch, then merges them into the current branch.</p>\r
+<p>You can perform the first operation alone using the "git fetch"\r
+command.  For example, Alice could create a temporary branch just to\r
+track Bob's changes, without merging them with her own, using:</p>\r
 <div class="listingblock">\r
 <div class="content">\r
 <pre><tt>$ git fetch /home/bob/myrepo master:bob-incoming</tt></pre>\r
 </div></div>\r
 <p>which fetches the changes from Bob's master branch into a new branch\r
-named bob-incoming.  (Unlike git pull, git fetch just fetches a copy\r
-of Bob's line of development without doing any merging).  Then</p>\r
+named bob-incoming.  Then</p>\r
 <div class="listingblock">\r
 <div class="content">\r
 <pre><tt>$ git log -p master..bob-incoming</tt></pre>\r
 </div></div>\r
 <p>shows a list of all the changes that Bob made since he branched from\r
 Alice's master branch.</p>\r
-<p>After examining those changes, and possibly fixing things, Alice can\r
-pull the changes into her master branch:</p>\r
+<p>After examining those changes, and possibly fixing things, Alice\r
+could pull the changes into her master branch:</p>\r
 <div class="listingblock">\r
 <div class="content">\r
 <pre><tt>$ git checkout master\r
@@ -473,6 +472,16 @@ $ git pull . bob-incoming</tt></pre>
 </div></div>\r
 <p>The last command is a pull from the "bob-incoming" branch in Alice's\r
 own repository.</p>\r
+<p>Alice could also perform both steps at once with:</p>\r
+<div class="listingblock">\r
+<div class="content">\r
+<pre><tt>$ git pull /home/bob/myrepo master:bob-incoming</tt></pre>\r
+</div></div>\r
+<p>This is just like the "git pull /home/bob/myrepo master" that we saw\r
+before, except that it also stores the unmerged changes from bob's\r
+master branch in bob-incoming before merging them into Alice's\r
+current branch.  Note that git pull always merges into the current\r
+branch, regardless of what else is given on the commandline.</p>\r
 <p>Later, Bob can update his repo with Alice's latest changes using</p>\r
 <div class="listingblock">\r
 <div class="content">\r
@@ -701,7 +710,7 @@ digressions that may be interesting at this point are:</p>
 </div>\r
 <div id="footer">\r
 <div id="footer-text">\r
-Last updated 22-Nov-2006 08:28:42 UTC\r
+Last updated 26-Nov-2006 07:28:21 UTC\r
 </div>\r
 </div>\r
 </body>\r
index 1e4ddfbd114dde8949dc53d423715673a748854f..35af81a3debc9ebd3c5475343cb5ca293b414b5d 100644 (file)
@@ -209,29 +209,28 @@ at /home/bob/myrepo.  She does this with:
 
 ------------------------------------------------
 $ 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
@@ -240,8 +239,8 @@ $ 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
@@ -251,6 +250,18 @@ $ git pull . bob-incoming
 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
 
 -------------------------------------