* [PATCH] tutorial: prefix the prompts with names alice or bob, to make it clear who is doing what [not found] ` <alpine.DEB.1.00.0807101654080.18205@racer> @ 2008-07-10 16:12 ` Ian Katz 2008-07-10 16:45 ` Miklos Vajna 0 siblings, 1 reply; 5+ messages in thread From: Ian Katz @ 2008-07-10 16:12 UTC (permalink / raw) To: git --- Documentation/gittutorial.txt | 26 +++++++++++++------------- 1 files changed, 13 insertions(+), 13 deletions(-) diff --git a/Documentation/gittutorial.txt b/Documentation/gittutorial.txt index e71b561..e4248b6 100644 --- a/Documentation/gittutorial.txt +++ b/Documentation/gittutorial.txt @@ -274,7 +274,7 @@ same machine, wants to contribute. Bob begins with: ------------------------------------------------ -$ git clone /home/alice/project myrepo +bob$ git clone /home/alice/project myrepo ------------------------------------------------ This creates a new directory "myrepo" containing a clone of Alice's @@ -285,7 +285,7 @@ Bob then makes some changes and commits them: ------------------------------------------------ (edit files) -$ git commit -a +bob$ git commit -a (repeat as necessary) ------------------------------------------------ @@ -293,8 +293,8 @@ When he's ready, he tells Alice to pull changes from the rep ository at /home/bob/myrepo. She does this with: ------------------------------------------------ -$ cd /home/alice/project -$ git pull /home/bob/myrepo master +alice$ cd /home/alice/project +alice$ git pull /home/bob/myrepo master ------------------------------------------------ This merges the changes from Bob's "master" branch into Alice's @@ -312,7 +312,7 @@ again. By defining 'remote' repository shorthand, you can m ake it easier: ------------------------------------------------ -$ git remote add bob /home/bob/myrepo +alice$ git remote add bob /home/bob/myrepo ------------------------------------------------ With this, Alice can perform the first operation alone using the @@ -320,7 +320,7 @@ With this, Alice can perform the first operation alone using the using: ------------------------------------- -$ git fetch bob +alice$ git fetch bob ------------------------------------- Unlike the longhand form, when Alice fetches from Bob using a @@ -329,7 +329,7 @@ fetched is stored in a remote tracking branch, in this case `bob/master`. So after this: ------------------------------------- -$ git log -p master..bob/master +alice$ git log -p master..bob/master ------------------------------------- shows a list of all the changes that Bob made since he branched from @@ -339,14 +339,14 @@ After examining those changes, Alice could merge the changes into her master branch: ------------------------------------- -$ git merge bob/master +alice$ git merge bob/master ------------------------------------- This `merge` can also be done by 'pulling from her own remote tracking branch', like this: ------------------------------------- -$ git pull . remotes/bob/master +alice$ git pull . remotes/bob/master ------------------------------------- Note that git pull always merges into the current branch, @@ -355,7 +355,7 @@ regardless of what else is given on the command line. Later, Bob can update his repo with Alice's latest changes using ------------------------------------- -$ git pull +bob$ git pull ------------------------------------- Note that he doesn't need to give the path to Alice's repository; @@ -364,7 +364,7 @@ repository in the repository configuration, and that locatio n is used for pulls: ------------------------------------- -$ git config --get remote.origin.url +bob$ git config --get remote.origin.url /home/alice/project ------------------------------------- @@ -376,7 +376,7 @@ Git also keeps a pristine copy of Alice's master branch unde r the name "origin/master": ------------------------------------- -$ git branch -r +bob$ git branch -r origin/master ------------------------------------- @@ -384,7 +384,7 @@ If Bob later decides to work from a different host, he can s till perform clones and pulls using the ssh protocol: ------------------------------------- -$ git clone alice.org:/home/alice/project myrepo +bob$ git clone alice.org:/home/alice/project myrepo ------------------------------------- Alternatively, git has a native protocol, or can use rsync or http; -- 1.5.3.7 ^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH] tutorial: prefix the prompts with names alice or bob, to make it clear who is doing what 2008-07-10 16:12 ` [PATCH] tutorial: prefix the prompts with names alice or bob, to make it clear who is doing what Ian Katz @ 2008-07-10 16:45 ` Miklos Vajna 2008-07-10 18:27 ` Ian Katz 0 siblings, 1 reply; 5+ messages in thread From: Miklos Vajna @ 2008-07-10 16:45 UTC (permalink / raw) To: Ian Katz; +Cc: git [-- Attachment #1: Type: text/plain, Size: 293 bytes --] On Thu, Jul 10, 2008 at 12:12:09PM -0400, Ian Katz <ifreecarve@gmail.com> wrote: > --- > Documentation/gittutorial.txt | 26 +++++++++++++------------- > 1 files changed, 13 insertions(+), 13 deletions(-) Please add your Sign-off when sending patches, see Documentation/SubmittingPatches. [-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --] ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] tutorial: prefix the prompts with names alice or bob, to make it clear who is doing what 2008-07-10 16:45 ` Miklos Vajna @ 2008-07-10 18:27 ` Ian Katz 2008-07-10 21:01 ` [PATCH] tutorial: clarify "pull" is "fetch + merge" Junio C Hamano 0 siblings, 1 reply; 5+ messages in thread From: Ian Katz @ 2008-07-10 18:27 UTC (permalink / raw) To: Miklos Vajna; +Cc: git Signed-off-by: Ian Katz <ifreecarve@gmail.com> --- Documentation/gittutorial.txt | 26 +++++++++++++------------- 1 files changed, 13 insertions(+), 13 deletions(-) diff --git a/Documentation/gittutorial.txt b/Documentation/gittutorial.txt index e71b561..e4248b6 100644 --- a/Documentation/gittutorial.txt +++ b/Documentation/gittutorial.txt @@ -274,7 +274,7 @@ same machine, wants to contribute. Bob begins with: ------------------------------------------------ -$ git clone /home/alice/project myrepo +bob$ git clone /home/alice/project myrepo ------------------------------------------------ This creates a new directory "myrepo" containing a clone of Alice's @@ -285,7 +285,7 @@ Bob then makes some changes and commits them: ------------------------------------------------ (edit files) -$ git commit -a +bob$ git commit -a (repeat as necessary) ------------------------------------------------ @@ -293,8 +293,8 @@ When he's ready, he tells Alice to pull changes from the rep ository at /home/bob/myrepo. She does this with: ------------------------------------------------ -$ cd /home/alice/project -$ git pull /home/bob/myrepo master +alice$ cd /home/alice/project +alice$ git pull /home/bob/myrepo master ------------------------------------------------ This merges the changes from Bob's "master" branch into Alice's @@ -312,7 +312,7 @@ again. By defining 'remote' repository shorthand, you can m ake it easier: ------------------------------------------------ -$ git remote add bob /home/bob/myrepo +alice$ git remote add bob /home/bob/myrepo ------------------------------------------------ With this, Alice can perform the first operation alone using the @@ -320,7 +320,7 @@ With this, Alice can perform the first operation alone using the using: ------------------------------------- -$ git fetch bob +alice$ git fetch bob ------------------------------------- Unlike the longhand form, when Alice fetches from Bob using a @@ -329,7 +329,7 @@ fetched is stored in a remote tracking branch, in this case `bob/master`. So after this: ------------------------------------- -$ git log -p master..bob/master +alice$ git log -p master..bob/master ------------------------------------- shows a list of all the changes that Bob made since he branched from @@ -339,14 +339,14 @@ After examining those changes, Alice could merge the changes into her master branch: ------------------------------------- -$ git merge bob/master +alice$ git merge bob/master ------------------------------------- This `merge` can also be done by 'pulling from her own remote tracking branch', like this: ------------------------------------- -$ git pull . remotes/bob/master +alice$ git pull . remotes/bob/master ------------------------------------- Note that git pull always merges into the current branch, @@ -355,7 +355,7 @@ regardless of what else is given on the command line. Later, Bob can update his repo with Alice's latest changes using ------------------------------------- -$ git pull +bob$ git pull ------------------------------------- Note that he doesn't need to give the path to Alice's repository; @@ -364,7 +364,7 @@ repository in the repository configuration, and that locatio n is used for pulls: ------------------------------------- -$ git config --get remote.origin.url +bob$ git config --get remote.origin.url /home/alice/project ------------------------------------- @@ -376,7 +376,7 @@ Git also keeps a pristine copy of Alice's master branch unde r the name "origin/master": ------------------------------------- -$ git branch -r +bob$ git branch -r origin/master ------------------------------------- @@ -384,7 +384,7 @@ If Bob later decides to work from a different host, he can s till perform clones and pulls using the ssh protocol: ------------------------------------- -$ git clone alice.org:/home/alice/project myrepo +bob$ git clone alice.org:/home/alice/project myrepo ------------------------------------- Alternatively, git has a native protocol, or can use rsync or http; -- 1.5.3.7 ^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH] tutorial: clarify "pull" is "fetch + merge" 2008-07-10 18:27 ` Ian Katz @ 2008-07-10 21:01 ` Junio C Hamano 2008-07-11 2:41 ` Jeff King 0 siblings, 1 reply; 5+ messages in thread From: Junio C Hamano @ 2008-07-10 21:01 UTC (permalink / raw) To: git; +Cc: Ian Katz, Miklos Vajna The document says that a fetch with a configured remote stores what are fetched in the remote tracking branches "Unlike the longhand form", but there is no longhand form "fetch" demonstrated earlier. This adds a missing demonstration of the longhand form, and a new paragraph to explain why some people might want to fetch before pull. Signed-off-by: Junio C Hamano <gitster@pobox.com> --- Documentation/gittutorial.txt | 28 +++++++++++++++++++++++++++- 1 files changed, 27 insertions(+), 1 deletions(-) diff --git a/Documentation/gittutorial.txt b/Documentation/gittutorial.txt index e71b561..38807f3 100644 --- a/Documentation/gittutorial.txt +++ b/Documentation/gittutorial.txt @@ -306,6 +306,32 @@ is the default.) The "pull" command thus performs two operations: it fetches changes from a remote branch, then merges them into the current branch. +Note that in general, Alice would want her local changes committed before +initiating this "pull". If Bob's work conflicts with what Alice did since +their histories forked, Alice will use her working tree and the index to +resolve conflicts, and existing local changes will interfere with the +conflict resolution process (git will still perform the fetch but will +refuse to merge --- Alice will have to get rid of her local changes in +some way and pull again when this happens). + +Alice can peek what Bob did without merging first, using the "fetch" +command; this allows Alice to inspect what bob did, using a special +symbol "FETCH_HEAD", in order to determine if he has anything worth +pulling, like this: + +------------------------------------------------ +$ git fetch /home/bob/myrepo master +$ git log -p ..FETCH_HEAD +------------------------------------------------ + +This operation is safe even if Alice has uncommitted local changes. + +After inspecting what Bob did, if there is nothing urgent, Alice may +decide to continue working without pulling from Bob. If Bob's history +does have something Alice would immediately need, Alice may choose to +stash her work-in-progress first, do a "pull", and then finally unstash +her work-in-progress on top of the resulting history. + 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 @@ -315,7 +341,7 @@ it easier: $ git remote add bob /home/bob/myrepo ------------------------------------------------ -With this, Alice can perform the first operation alone using the +With this, Alice can perform the first part of "pull" operation alone using the 'git-fetch' command without merging them with her own branch, using: ^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH] tutorial: clarify "pull" is "fetch + merge" 2008-07-10 21:01 ` [PATCH] tutorial: clarify "pull" is "fetch + merge" Junio C Hamano @ 2008-07-11 2:41 ` Jeff King 0 siblings, 0 replies; 5+ messages in thread From: Jeff King @ 2008-07-11 2:41 UTC (permalink / raw) To: Junio C Hamano; +Cc: git, Ian Katz, Miklos Vajna On Thu, Jul 10, 2008 at 02:01:57PM -0700, Junio C Hamano wrote: > This adds a missing demonstration of the longhand form, and a new > paragraph to explain why some people might want to fetch before pull. A few English/typo nits below. > +Alice can peek what Bob did without merging first, using the "fetch" s/peek/& at/ > +command; this allows Alice to inspect what bob did, using a special s/bob/\u&/ > -With this, Alice can perform the first operation alone using the > +With this, Alice can perform the first part of "pull" operation alone using the Should be either 'the "pull" operation' or 'a "pull" operation'. -Peff ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2008-07-11 2:44 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <dc5b80bf0807100652y394e655lfcdd819cc4506afa@mail.gmail.com>
[not found] ` <alpine.DEB.1.00.0807101524440.18205@racer>
[not found] ` <dc5b80bf0807100729h3e247f68qc48dafc9d0bb154f@mail.gmail.com>
[not found] ` <alpine.DEB.1.00.0807101654080.18205@racer>
2008-07-10 16:12 ` [PATCH] tutorial: prefix the prompts with names alice or bob, to make it clear who is doing what Ian Katz
2008-07-10 16:45 ` Miklos Vajna
2008-07-10 18:27 ` Ian Katz
2008-07-10 21:01 ` [PATCH] tutorial: clarify "pull" is "fetch + merge" Junio C Hamano
2008-07-11 2:41 ` Jeff King
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).