Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.kernel.org/pub/scm/git/git.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJunio C Hamano <junkio@cox.net>2005-11-06 09:26:52 +0300
committerJunio C Hamano <junkio@cox.net>2005-11-06 11:26:21 +0300
commit4607166d0735d13e0ee4ffe8df0c2fc899957852 (patch)
tree48f8aa4a29bebaa82c792302a9c7e59bb6265869
parentb748421aaae3fbb8e0e6466ba532bcec1c71e660 (diff)
Documentation: pull/clone ref mapping clarification.
Josef Weidendorfer points out that git-clone documentation does not mention the initial copying of remote branch heads into corresponding local branches. Also clarify the purpose of the ref mappings description in the "remotes" file and recommended workflow. Signed-off-by: Junio C Hamano <junkio@cox.net>
-rw-r--r--Documentation/git-clone.txt26
-rw-r--r--Documentation/pull-fetch-param.txt21
2 files changed, 33 insertions, 14 deletions
diff --git a/Documentation/git-clone.txt b/Documentation/git-clone.txt
index dd92cdefc2..cbd83f35d7 100644
--- a/Documentation/git-clone.txt
+++ b/Documentation/git-clone.txt
@@ -12,7 +12,21 @@ SYNOPSIS
DESCRIPTION
-----------
-Clones a repository into a newly created directory.
+Clones a repository into a newly created directory. All remote
+branch heads are copied under `$GIT_DIR/refs/heads/`, except
+that the remote `master` is also copied to `origin` branch.
+
+In addition, `$GIT_DIR/remotes/origin` file is set up to have
+this line:
+
+ Pull: master:origin
+
+This is to help the typical workflow of working off of the
+remote `master` branch. Every time `git pull` without argument
+is run, the progress on the remote `master` branch is tracked by
+copying it into the local `origin` branch, and merged into the
+branch you are currently working on.
+
OPTIONS
-------
@@ -28,9 +42,10 @@ OPTIONS
--shared::
-s::
When the repository to clone is on the local machine,
- instead of using hard links automatically setup
+ instead of using hard links, automatically setup
.git/objects/info/alternatives to share the objects
- with the source repository
+ with the source repository. The resulting repository
+ starts out without any object of its own.
--quiet::
-q::
@@ -49,14 +64,13 @@ OPTIONS
<repository>::
The (possibly remote) repository to clone from. It can
- be an "rsync://host/dir" URL, an "http://host/dir" URL,
- or [<host>:]/dir notation that is used by 'git-clone-pack'.
- Currently http transport is not supported.
+ be any URL git-fetch supports.
<directory>::
The name of a new directory to be cloned into. It is an
error to specify an existing directory.
+
Author
------
Written by Linus Torvalds <torvalds@osdl.org>
diff --git a/Documentation/pull-fetch-param.txt b/Documentation/pull-fetch-param.txt
index 57e9ddf0d6..5c2888e163 100644
--- a/Documentation/pull-fetch-param.txt
+++ b/Documentation/pull-fetch-param.txt
@@ -82,14 +82,19 @@ must know this is the expected usage pattern for a branch.
[NOTE]
You never do your own development on branches that appear
on the right hand side of a <refspec> colon on `Pull:` lines;
-they are to be updated by `git-fetch`. The corollary is that
-a local branch should be introduced and named on a <refspec>
-right-hand-side if you intend to do development derived from
-that branch.
-This leads to the common `Pull: master:origin` mapping of a
-remote `master` branch to a local `origin` branch, which
-is then merged to a local development branch, again typically
-named `master`.
+they are to be updated by `git-fetch`. If you intend to do
+development derived from a remote branch `B`, have a `Pull:`
+line to track it (i.e. `Pull: B:remote-B`), and have a separate
+branch `my-B` to do your development on top of it. The latter
+is created by `git branch my-B remote-B` (or its equivalent `git
+checkout -b my-B remote-B`). Run `git fetch` to keep track of
+the progress of the remote side, and when you see something new
+on the remote branch, merge it into your development branch with
+`git pull . remote-B`, while you are on `my-B` branch.
+The common `Pull: master:origin` mapping of a remote `master`
+branch to a local `origin` branch, which is then merged to a
+ocal development branch, again typically named `master`, is made
+when you run `git clone` for you to follow this pattern.
+
[NOTE]
There is a difference between listing multiple <refspec>