All of lore.kernel.org
 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.