git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: bfields@fieldses.org
To: Junio C Hamano <junkio@cox.net>
Cc: git@vger.kernel.org
Subject: [PATCH] Documentation: update git-pull.txt for clone's new default behavior
Date: Sun, 31 Dec 2006 18:47:35 -0500	[thread overview]
Message-ID: <11676088582634-git-send-email-bfields@fieldses.org> (raw)
In-Reply-To: <1167608858759-git-send-email-bfields@fieldses.org>

From: J. Bruce Fields <bfields@citi.umich.edu>

Update examples.  I'm not sure if the last two examples are really useful
any more.

Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
---
 Documentation/git-pull.txt |   75 +++++++++++++++++++++++++------------------
 1 files changed, 44 insertions(+), 31 deletions(-)

diff --git a/Documentation/git-pull.txt b/Documentation/git-pull.txt
index 2a5aea7..5b9ff96 100644
--- a/Documentation/git-pull.txt
+++ b/Documentation/git-pull.txt
@@ -37,8 +37,15 @@ EXAMPLES
 --------
 
 git pull, git pull origin::
-	Fetch the default head from the repository you cloned
-	from and merge it into your current branch.
+	Update the remote tracking brances for the repository
+	you cloned from, then merge one of them into your
+	current branch.  Normally the branch merged in is
+	the HEAD of the remote repository, when your master
+	branch is checked out.  When on another branch,
+	the (alphabetically) first branch from the remote
+	repository is merged in.  These defaults can be modified
+	using the branch and remote sections of the repository
+	configuration; see gitlink:git-repo-config[1] for details.
 
 git pull -s ours . obsolete::
 	Merge local branch `obsolete` into the current branch,
@@ -58,51 +65,57 @@ You should refrain from abusing this option to sneak substantial
 changes into a merge commit.  Small fixups like bumping
 release/version name would be acceptable.
 
-Command line pull of multiple branches from one repository::
+Pull of multiple branches from one repository using default configuration::
 +
 ------------------------------------------------
-$ cat .git/remotes/origin
-URL: git://git.kernel.org/pub/scm/git/git.git
-Pull: master:origin
-
+$ git repo-config -l
+...
+remote.origin.url=git://git.kernel.org/pub/scm/git/git.git
+remote.origin.fetch=+refs/heads/*:refs/remotes/foo/*
+branch.master.remote=origin
+branch.master.merge=refs/heads/master
 $ git checkout master
-$ git fetch origin master:origin +pu:pu maint:maint
-$ git pull . origin
+$ git fetch origin
+$ git pull . origin/master
 ------------------------------------------------
 +
-Here, a typical `.git/remotes/origin` file from a
+Here, a typical configuration created by the
 `git-clone` operation is used in combination with
-command line options to `git-fetch` to first update
-multiple branches of the local repository and then
-to merge the remote `origin` branch into the local
-`master` branch.  The local `pu` branch is updated
-even if it does not result in a fast forward update.
+`git-fetch` to update all of the remote tracking
+branches for `origin` (the remote repository which
+you originally cloned from).  Thanks to the "+" on
+the `remote.origin.fetch` line, the tracking branches
+will all be updated even if they do not result in a
+fast forward update.
++
+The `git pull` command then merges the newly
+fetched origin/master into the local `master` branch.
 Here, the pull can obtain its objects from the local
 repository using `.`, as the previous `git-fetch` is
 known to have already obtained and made available
 all the necessary objects.
++
+Note that given the configuration above, a simple
+`git pull` would have the same result as the above
+sequence of fetch and pull.
 
 
-Pull of multiple branches from one repository using `.git/remotes` file::
+Commandline pull of multiple branches from one repository::
 +
 ------------------------------------------------
-$ cat .git/remotes/origin
-URL: git://git.kernel.org/pub/scm/git/git.git
-Pull: master:origin
-Pull: +pu:pu
-Pull: maint:maint
-
 $ git checkout master
-$ git pull origin
+$ git fetch origin master:origin +pu:pu maint:maint
+$ git pull . origin
 ------------------------------------------------
 +
-Here, a typical `.git/remotes/origin` file from a
-`git-clone` operation has been hand-modified to include
-the branch-mapping of additional remote and local
-heads directly.  A single `git-pull` operation while
-in the `master` branch will fetch multiple heads and
-merge the remote `origin` head into the current,
-local `master` branch.
+Assuming the same configuration as above, this overrides
+the default fetch behavior, updating (or creating, as
+necessary) branches "origin", "pu", and "maint" in the
+local repository by fetching from the branches (respectively)
+"master", "pu", and "maint" from the remote repository.
++
+The "pu" branch will be updated even if it is does not
+fast-foward; the others will not be.
 
 
 If you tried a pull which resulted in a complex conflicts and
@@ -112,7 +125,7 @@ gitlink:git-reset[1].
 
 SEE ALSO
 --------
-gitlink:git-fetch[1], gitlink:git-merge[1]
+gitlink:git-fetch[1], gitlink:git-merge[1], gitlink:git-repo-config[1]
 
 
 Author
-- 
1.5.0.rc0.gac28

  reply	other threads:[~2006-12-31 23:47 UTC|newest]

Thread overview: 47+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-12-31 23:47 [PATCH] Docs: update cvs-migration.txt to reflect clone's new default behavior bfields
2006-12-31 23:47 ` [PATCH] Documentation: update git-clone.txt for " bfields
2006-12-31 23:47   ` bfields [this message]
2006-12-31 23:47     ` [PATCH] Documentation: update glossary entry for "origin" bfields
2006-12-31 23:47       ` [PATCH] Documentation: remove master:origin example from pull-fetch-param.txt bfields
2006-12-31 23:47         ` [PATCH] Documentation: update tutorial's discussion of origin bfields
2007-01-01  0:35     ` [PATCH] Documentation: update git-pull.txt for clone's new default behavior Junio C Hamano
2007-01-01  1:12       ` J. Bruce Fields
2007-01-01  1:44       ` Junio C Hamano
2007-01-01  3:29         ` Luben Tuikov
2007-01-01  3:48           ` J. Bruce Fields
2007-01-01  5:13             ` Luben Tuikov
2007-01-01  5:45               ` J. Bruce Fields
2007-01-01  7:53                 ` Luben Tuikov
2007-01-01  7:38               ` Junio C Hamano
2007-01-01  8:19                 ` Luben Tuikov
2007-01-01 13:17                   ` Theodore Tso
2007-01-01 23:56                     ` Luben Tuikov
2007-01-02  1:08                       ` Theodore Tso
2007-01-02  2:17                         ` Luben Tuikov
2007-01-02  3:45                       ` Junio C Hamano
2007-01-02 18:39                         ` Luben Tuikov
2007-01-01 21:39         ` J. Bruce Fields
2007-01-01 21:40           ` J. Bruce Fields
2007-01-02  0:01             ` Luben Tuikov
2007-01-02  0:10               ` J. Bruce Fields
2007-01-02  0:57                 ` Theodore Tso
2007-01-02  1:28                 ` Luben Tuikov
2007-01-02  6:32                   ` Junio C Hamano
2007-01-02  2:09                 ` Luben Tuikov
2007-01-02  0:21               ` Junio C Hamano
2007-01-02  0:38                 ` Jakub Narebski
2007-01-02  2:05                 ` Luben Tuikov
2007-01-02  3:36                   ` Junio C Hamano
2007-01-02 11:31                     ` Jakub Narebski
2007-01-02 18:48                     ` Luben Tuikov
2007-01-02 19:22                       ` Jakub Narebski
2007-01-02 19:30                       ` Junio C Hamano
2007-01-05 23:15                         ` Luben Tuikov
2007-01-05 23:20                           ` Junio C Hamano
2007-01-05 23:32                             ` Junio C Hamano
2007-01-06  0:32                               ` Luben Tuikov
2007-01-06  0:22                             ` Luben Tuikov
2007-01-06  1:17                               ` Junio C Hamano
2007-01-01 23:59           ` Luben Tuikov
2007-01-02  0:06             ` J. Bruce Fields
2007-01-02  0:12               ` Junio C Hamano

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=11676088582634-git-send-email-bfields@fieldses.org \
    --to=bfields@fieldses.org \
    --cc=git@vger.kernel.org \
    --cc=junkio@cox.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).