* [PATCH 1/2] tutorial: Use "git remote add"
@ 2007-01-12 11:57 Santi Béjar
2007-01-12 18:29 ` Junio C Hamano
0 siblings, 1 reply; 4+ messages in thread
From: Santi Béjar @ 2007-01-12 11:57 UTC (permalink / raw)
To: Git Mailing List
This way all the branches are in the separate layout,
so the newbies only have to understand one layout.
Signed-off-by: Santi Béjar <sbejar@gmail.com>
---
Hi *,
I've used:
$ git pull . remotes/bob/master
instead of:
$ git pull . bob/master
because the latter does not work. I think it's a bug, because
$ git show bob/master
$ git merge bob/master
work as expected.
Documentation/tutorial.txt | 26 +++++++++++++-------------
1 files changed, 13 insertions(+), 13 deletions(-)
diff --git a/Documentation/tutorial.txt b/Documentation/tutorial.txt
index d2bf0b9..4b7eba3 100644
--- a/Documentation/tutorial.txt
+++ b/Documentation/tutorial.txt
@@ -285,10 +285,12 @@ at /home/bob/myrepo. She does this with:
------------------------------------------------
$ cd /home/alice/project
-$ git pull /home/bob/myrepo master
+$ git remote add bob /home/bob/myrepo
+$ git pull bob master
------------------------------------------------
-This merges the changes from Bob's "master" branch into Alice's
+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
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
@@ -298,18 +300,16 @@ 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. For example, Alice could create a temporary branch just to
-track Bob's changes, without merging them with her own, using:
+command without merging them with her own branch, using:
-------------------------------------
-$ git fetch /home/bob/myrepo master:bob-incoming
+$ git fetch bob
-------------------------------------
-which fetches the changes from Bob's master branch into a new branch
-named bob-incoming. Then
+which fetches the changes from Bob's branches. Then
-------------------------------------
-$ git log -p master..bob-incoming
+$ git log -p master..bob/master
-------------------------------------
shows a list of all the changes that Bob made since he branched from
@@ -320,21 +320,21 @@ could pull the changes into her master branch:
-------------------------------------
$ git checkout master
-$ git pull . bob-incoming
+$ git pull . remotes/bob/master
-------------------------------------
-The last command is a pull from the "bob-incoming" branch in Alice's
+The last command is a pull from the "bob/master" branch in Alice's
own repository.
Alice could also perform both steps at once with:
-------------------------------------
-$ git pull /home/bob/myrepo master:bob-incoming
+$ git pull bob
-------------------------------------
-This is just like the "git pull /home/bob/myrepo master" that we saw
+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-incoming before merging them into Alice'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.
--
1.5.0-rc1.GIT
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH 1/2] tutorial: Use "git remote add"
2007-01-12 11:57 [PATCH 1/2] tutorial: Use "git remote add" Santi Béjar
@ 2007-01-12 18:29 ` Junio C Hamano
2007-01-12 21:58 ` Junio C Hamano
0 siblings, 1 reply; 4+ messages in thread
From: Junio C Hamano @ 2007-01-12 18:29 UTC (permalink / raw)
To: Santi Béjar; +Cc: git
Santi Béjar <sbejar@gmail.com> writes:
> @@ -285,10 +285,12 @@ at /home/bob/myrepo. She does this with:
>
> ------------------------------------------------
> $ cd /home/alice/project
> -$ git pull /home/bob/myrepo master
> +$ git remote add bob /home/bob/myrepo
> +$ git pull bob master
> ------------------------------------------------
I'd prefer to leave this as is, because I think ad-hoc
promiscous pull shows the distributed nature of git better, and
add a new step after that to teach "remote add", telling the
user that "having to use longhand every time is tiresome, so
there is a nifty way to define a shorthand for a remote
repository you interact with often".
Other than that, I agree with the direction of your change to
use separate remote layout instead of mixed "incoming" branches.
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH 1/2] tutorial: Use "git remote add"
2007-01-12 18:29 ` Junio C Hamano
@ 2007-01-12 21:58 ` Junio C Hamano
2007-01-13 10:52 ` Santi Béjar
0 siblings, 1 reply; 4+ messages in thread
From: Junio C Hamano @ 2007-01-12 21:58 UTC (permalink / raw)
To: Santi Béjar; +Cc: git
Junio C Hamano <junkio@cox.net> writes:
> Santi Béjar <sbejar@gmail.com> writes:
>
>> @@ -285,10 +285,12 @@ at /home/bob/myrepo. She does this with:
>>
>> ------------------------------------------------
>> $ cd /home/alice/project
>> -$ git pull /home/bob/myrepo master
>> +$ git remote add bob /home/bob/myrepo
>> +$ git pull bob master
>> ------------------------------------------------
>
> I'd prefer to leave this as is, because I think ad-hoc
> promiscous pull shows the distributed nature of git better, and
> add a new step after that to teach "remote add", telling the
> user that "having to use longhand every time is tiresome, so
> there is a nifty way to define a shorthand for a remote
> repository you interact with often".
I'm thinking about committing something like this on top of
yours (commentary interspersed in the diff so you cannot apply
without enhanced git-apply).
diff --git a/Documentation/tutorial.txt b/Documentation/tutorial.txt
index 4b7eba3..7770b57 100644
--- a/Documentation/tutorial.txt
+++ b/Documentation/tutorial.txt
@@ -285,12 +285,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
|
| This hunk essentially reverts your change to this section.
|
@@ -299,14 +297,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
|
| And highlight that with the shorthand defined you will get
| remote tracking branches for free (the original form doesn't
| clutter your refs/remotes/).
|
@@ -315,28 +326,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
-could pull the changes into her master branch:
+After examining those changes, Alice
+could merge the changes into her master branch:
|
| No way Alice can _fix_ things -- the original was wrong to begin
| with from the workflow point of view, but now this uses remote
| tracking branch that Alice cannot even checkout and modify.
|
-------------------------------------
-$ git checkout master
-$ git pull . remotes/bob/master
+$ git merge bob/master
-------------------------------------
-The last command is a pull from 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
^ permalink raw reply related [flat|nested] 4+ messages in thread
end of thread, other threads:[~2007-01-13 10:52 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-01-12 11:57 [PATCH 1/2] tutorial: Use "git remote add" Santi Béjar
2007-01-12 18:29 ` Junio C Hamano
2007-01-12 21:58 ` Junio C Hamano
2007-01-13 10:52 ` Santi Béjar
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox