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>2007-01-17 03:10:14 +0300
committerJunio C Hamano <junkio@cox.net>2007-01-17 03:23:58 +0300
commitc1ff284a702c487e4a6f4966b69adff83cd5cf37 (patch)
treeab42923509a6e75fd52c6ab3685269b501386cab
parent8b616f24ea5f18a13bd274f9dd9a1a42e6c4b223 (diff)
tutorial: shorthand for remotes but show distributed nature of git
* Promiscous pull shows the distributed nature of git better. * Add a new step after that to teach "remote add". * Highlight that with the shorthand defined you will get remote tracking branches for free. * Fix Alice's workflow. Signed-off-by: Santi BĂ©jar <sbejar@gmail.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
-rw-r--r--Documentation/tutorial.txt43
1 files changed, 24 insertions, 19 deletions
diff --git a/Documentation/tutorial.txt b/Documentation/tutorial.txt
index 1b93013041..c27a4505d4 100644
--- a/Documentation/tutorial.txt
+++ b/Documentation/tutorial.txt
@@ -283,12 +283,10 @@ at /home/bob/myrepo. She does this with:
------------------------------------------------
$ cd /home/alice/project
-$ git remote add bob /home/bob/myrepo
-$ git pull bob master
+$ git pull /home/bob/myrepo master
------------------------------------------------
-First it adds the "remote" Bob's repository with the name "bob" and
-then it merges the changes from Bob's "master" branch into Alice's
+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
@@ -297,14 +295,27 @@ is the default.)
The "pull" command thus performs two operations: it fetches changes
from a remote branch, then merges them into the current branch.
-You can perform the first operation alone using the "git fetch"
-command without merging them with her own branch, using:
+When you are working in a small closely knit group, it is not
+unusual to interact with the same repository over and over
+again. By defining 'remote' repository shorthand, you can make
+it easier:
+
+------------------------------------------------
+$ git remote add bob /home/bob/myrepo
+------------------------------------------------
+
+With this, you can perform the first operation alone using the
+"git fetch" command without merging them with her own branch,
+using:
-------------------------------------
$ git fetch bob
-------------------------------------
-which fetches the changes from Bob's branches. Then
+Unlike the longhand form, when Alice fetches from Bob using a
+remote repository shorthand set up with `git remote`, what was
+fetched is stored in a remote tracking branch, in this case
+`bob/master`. So after this:
-------------------------------------
$ git log -p master..bob/master
@@ -313,28 +324,22 @@ $ git log -p master..bob/master
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
+After examining those changes, Alice
could merge the changes into her master branch:
-------------------------------------
-$ git checkout master
$ git merge bob/master
-------------------------------------
-The last command is a merge of the "bob/master" branch in Alice's
-own repository.
-
-Alice could also perform both steps at once with:
+This `merge` can also be done by 'pulling from her own remote
+tracking branch', like this:
-------------------------------------
-$ git pull bob
+$ git pull . remotes/bob/master
-------------------------------------
-This is just like the "git pull bob master" that we saw
-before, except that it also stores the unmerged changes from bob's
-master branch in bob/master 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.
+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