git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* A Visual Git Reference
@ 2010-02-08 19:34 Mark Lodato
  2010-02-08 19:51 ` Peter Baumann
                   ` (4 more replies)
  0 siblings, 5 replies; 18+ messages in thread
From: Mark Lodato @ 2010-02-08 19:34 UTC (permalink / raw)
  To: git list

All,

I put together a "Visual Git Reference" containing visualizations of
the most common git commands, for people who prefer to see images over
text.  It is designed as a reference, not a tutorial, so readers need
to have some amount of experience before the page will become useful.

URL: http://marklodato.github.com/visual-git-guide/
Git repo: http://github.com/marklodato/visual-git-guide/

If you have any feedback or suggestions, please let me know!

Cheers,
Mark

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: A Visual Git Reference
  2010-02-08 19:34 A Visual Git Reference Mark Lodato
@ 2010-02-08 19:51 ` Peter Baumann
  2010-02-08 20:21   ` Mark Lodato
  2010-02-08 21:57 ` Daniel Barkalow
                   ` (3 subsequent siblings)
  4 siblings, 1 reply; 18+ messages in thread
From: Peter Baumann @ 2010-02-08 19:51 UTC (permalink / raw)
  To: Mark Lodato; +Cc: git list

On Mon, Feb 08, 2010 at 02:34:21PM -0500, Mark Lodato wrote:
> All,
> 
> I put together a "Visual Git Reference" containing visualizations of
> the most common git commands, for people who prefer to see images over
> text.  It is designed as a reference, not a tutorial, so readers need
> to have some amount of experience before the page will become useful.
> 
> URL: http://marklodato.github.com/visual-git-guide/
> Git repo: http://github.com/marklodato/visual-git-guide/
> 
> If you have any feedback or suggestions, please let me know!

I have only glanced over the page, but it seems you have made the time
flow from right to left. Is this intentional? I find it not very intuitive.

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: A Visual Git Reference
  2010-02-08 19:51 ` Peter Baumann
@ 2010-02-08 20:21   ` Mark Lodato
  2010-02-08 20:34     ` Jon Seymour
  2010-02-09  0:09     ` Johannes Schindelin
  0 siblings, 2 replies; 18+ messages in thread
From: Mark Lodato @ 2010-02-08 20:21 UTC (permalink / raw)
  To: Peter Baumann; +Cc: git list

On Mon, Feb 8, 2010 at 2:51 PM, Peter Baumann <waste.manager@gmx.de> wrote:
> I have only glanced over the page, but it seems you have made the time
> flow from right to left. Is this intentional? I find it not very intuitive.

Good call.  I don't know why I did that.  I just pushed a new version
that goes left-to-right.

Thanks,
Mark

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: A Visual Git Reference
  2010-02-08 20:21   ` Mark Lodato
@ 2010-02-08 20:34     ` Jon Seymour
  2010-02-08 20:57       ` Mark Lodato
  2010-02-09  0:09     ` Johannes Schindelin
  1 sibling, 1 reply; 18+ messages in thread
From: Jon Seymour @ 2010-02-08 20:34 UTC (permalink / raw)
  To: Mark Lodato; +Cc: Peter Baumann, git list

G'day Mark,

Nice diagrams. You might want to change the arrows on the diffs to be
consistently in direction of the forward diff.

jon.

On Tue, Feb 9, 2010 at 7:21 AM, Mark Lodato <lodatom@gmail.com> wrote:
> On Mon, Feb 8, 2010 at 2:51 PM, Peter Baumann <waste.manager@gmx.de> wrote:
>> I have only glanced over the page, but it seems you have made the time
>> flow from right to left. Is this intentional? I find it not very intuitive.
>
> Good call.  I don't know why I did that.  I just pushed a new version
> that goes left-to-right.
>
> Thanks,
> Mark
> --
> To unsubscribe from this list: send the line "unsubscribe git" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: A Visual Git Reference
  2010-02-08 20:34     ` Jon Seymour
@ 2010-02-08 20:57       ` Mark Lodato
  0 siblings, 0 replies; 18+ messages in thread
From: Mark Lodato @ 2010-02-08 20:57 UTC (permalink / raw)
  To: Jon Seymour; +Cc: git list

On Mon, Feb 8, 2010 at 3:34 PM, Jon Seymour <jon.seymour@gmail.com> wrote:
> Nice diagrams. You might want to change the arrows on the diffs to be
> consistently in direction of the forward diff.

Thanks.  You're right, the da985->b325c was the only one that made
sense - the rest were reversed.  Is this what you meant?  I just
pushed this change, so it should be fixed.

Mark

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: A Visual Git Reference
  2010-02-08 19:34 A Visual Git Reference Mark Lodato
  2010-02-08 19:51 ` Peter Baumann
@ 2010-02-08 21:57 ` Daniel Barkalow
  2010-02-09  0:18   ` Mark Lodato
  2010-02-10  3:40   ` John J. Franey
  2010-02-10  5:20 ` Jeff King
                   ` (2 subsequent siblings)
  4 siblings, 2 replies; 18+ messages in thread
From: Daniel Barkalow @ 2010-02-08 21:57 UTC (permalink / raw)
  To: Mark Lodato; +Cc: git list

On Mon, 8 Feb 2010, Mark Lodato wrote:

> All,
> 
> I put together a "Visual Git Reference" containing visualizations of
> the most common git commands, for people who prefer to see images over
> text.  It is designed as a reference, not a tutorial, so readers need
> to have some amount of experience before the page will become useful.
> 
> URL: http://marklodato.github.com/visual-git-guide/
> Git repo: http://github.com/marklodato/visual-git-guide/
> 
> If you have any feedback or suggestions, please let me know!

The "3-way merge" node should graphically distinguish the base from the 
two sides, rather than having all three just go in. The "3-way merge" 
operation is tricky to understand visually without some sort of "split and 
rejoin, with specific points" thing.

Also, it would probably be worth showing the use of the index in the 
process of a 3-way merge: all three versions go into the blue box, and a 
combination (with conflict markers) goes into the pink box; the user 
cleans up the pink box, and replaces the 3-part blue box content with the 
cleaned-up single result content; then the commit gives the diagram you 
have for "git merge other".

I think you should introduce the detached HEAD situation early; right 
after "git checkout HEAD~ files", it would be worth showing "git checkout 
HEAD~". It's pretty common for people in the "technical user" part of the 
kernel community to use git to browse history and test different commits, 
and never do a commit at all. This is a pretty common mode across many 
version control systems (e.g., "cvs checkout -D yesterday"), and nothing 
unexpected happens if you don't try to commit while doing it. In fact, you 
could show tracking down a bug introduced between maint and master by 
checking out c10b9 and then da985.

Then, later, you can bring up the fact that you can actually do commits in 
that situation, and show how that works. That part is the part that's 
novel and could potentially lead to people doing work and having it become 
unreachable. Also, after commiting with a detached HEAD, the normal next 
step is to create a new branch ("git checkout -b new-topic").

	-Daniel
*This .sig left intentionally blank*

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: A Visual Git Reference
  2010-02-08 20:21   ` Mark Lodato
  2010-02-08 20:34     ` Jon Seymour
@ 2010-02-09  0:09     ` Johannes Schindelin
  1 sibling, 0 replies; 18+ messages in thread
From: Johannes Schindelin @ 2010-02-09  0:09 UTC (permalink / raw)
  To: Mark Lodato; +Cc: git list

Hi,

to save you time: I added a link to the Git Wiki.

Ciao,
Dscho

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: A Visual Git Reference
  2010-02-08 21:57 ` Daniel Barkalow
@ 2010-02-09  0:18   ` Mark Lodato
  2010-02-10  3:40   ` John J. Franey
  1 sibling, 0 replies; 18+ messages in thread
From: Mark Lodato @ 2010-02-09  0:18 UTC (permalink / raw)
  To: Daniel Barkalow; +Cc: git list

On Mon, Feb 8, 2010 at 4:57 PM, Daniel Barkalow <barkalow@iabervon.org> wrote:
> The "3-way merge" node should graphically distinguish the base from the
> two sides, rather than having all three just go in. The "3-way merge"
> operation is tricky to understand visually without some sort of "split and
> rejoin, with specific points" thing.

Yes, I'm not happy with the merge picture at all.  As you said, it's
difficult to draw a nice picture for it that doesn't become too
complex.  I'll have to think of a better way...

> Also, it would probably be worth showing the use of the index in the
> process of a 3-way merge: all three versions go into the blue box, and a
> combination (with conflict markers) goes into the pink box; the user
> cleans up the pink box, and replaces the 3-part blue box content with the
> cleaned-up single result content; then the commit gives the diagram you
> have for "git merge other".

My fear is making the graphic too complicated.  That said, it may be
worth making separate graphics: a simple no-conflict case, and a more
complicated conflict case.

> I think you should introduce the detached HEAD situation early; right
> after "git checkout HEAD~ files", it would be worth showing "git checkout
> HEAD~". It's pretty common for people in the "technical user" part of the
> kernel community to use git to browse history and test different commits,
> and never do a commit at all. This is a pretty common mode across many
> version control systems (e.g., "cvs checkout -D yesterday"), and nothing
> unexpected happens if you don't try to commit while doing it.

Good point.  At your suggestion, I moved up the detached HEAD section
and integrated part of it into the checkout section.  You're right,
this does come up a lot, so I should cover it.

> In fact, you
> could show tracking down a bug introduced between maint and master by
> checking out c10b9 and then da985.

I may add a section on git bisect in the future.

> Then, later, you can bring up the fact that you can actually do commits in
> that situation, and show how that works. That part is the part that's
> novel and could potentially lead to people doing work and having it become
> unreachable. Also, after commiting with a detached HEAD, the normal next
> step is to create a new branch ("git checkout -b new-topic").

Done.  Good idea.

Thanks for the feedback.  If you have any other thoughts, I'd be glad
to hear them!
Mark

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: A Visual Git Reference
  2010-02-08 21:57 ` Daniel Barkalow
  2010-02-09  0:18   ` Mark Lodato
@ 2010-02-10  3:40   ` John J. Franey
  1 sibling, 0 replies; 18+ messages in thread
From: John J. Franey @ 2010-02-10  3:40 UTC (permalink / raw)
  To: git

On Mon, 08 Feb 2010 16:57:12 -0500, Daniel Barkalow wrote:

> On Mon, 8 Feb 2010, Mark Lodato wrote:
> 
>> All,
>> 
>> I put together a "Visual Git Reference" containing visualizations of
>> the most common git commands, for people who prefer to see images over
>> text.  It is designed as a reference, not a tutorial, so readers need
>> to have some amount of experience before the page will become useful.
>> 
>> URL: http://marklodato.github.com/visual-git-guide/ Git repo:
>> http://github.com/marklodato/visual-git-guide/
>> 
>> If you have any feedback or suggestions, please let me know!
> 
> The "3-way merge" node should graphically distinguish the base from the
> two sides, rather than having all three just go in. The "3-way merge"
> operation is tricky to understand visually without some sort of "split
> and rejoin, with specific points" thing.
> 
> Also, it would probably be worth showing the use of the index in the
> process of a 3-way merge: all three versions go into the blue box, and a
> combination (with conflict markers) goes into the pink box; the user
> cleans up the pink box, and replaces the 3-part blue box content with
> the cleaned-up single result content; then the commit gives the diagram
> you have for "git merge other".
> 

I often have difficulty trying to internally visualize a mapping from the 
commits of a merge to the panes of a kdiff3 session.  I have special 
difficulty keeping straight which commit is the LOCAL and which is the 
REMOTE.  Looking at your visual guide, I can almost see a kdiff session 
in this section on three way merge where each commit sits in one of the 
panes. b325c in upper left, ed489 in upper middle, and 33104 in upper 
right, "Working Directory" on the bottom pane.  Not sure if that graphic 
would be useful to anyone else.  Thought I'd throw it in for grins.

I learned a few things from your guide.  I've been using git for about a 
year and a half.  Thanks.

John

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: A Visual Git Reference
  2010-02-08 19:34 A Visual Git Reference Mark Lodato
  2010-02-08 19:51 ` Peter Baumann
  2010-02-08 21:57 ` Daniel Barkalow
@ 2010-02-10  5:20 ` Jeff King
  2010-03-17 19:03   ` Scott R. Godin
  2010-02-10 17:02 ` Dilip M
  2010-02-18  1:17 ` Michael Witten
  4 siblings, 1 reply; 18+ messages in thread
From: Jeff King @ 2010-02-10  5:20 UTC (permalink / raw)
  To: Mark Lodato; +Cc: git list

On Mon, Feb 08, 2010 at 02:34:21PM -0500, Mark Lodato wrote:

> I put together a "Visual Git Reference" containing visualizations of
> the most common git commands, for people who prefer to see images over
> text.  It is designed as a reference, not a tutorial, so readers need
> to have some amount of experience before the page will become useful.
> 
> URL: http://marklodato.github.com/visual-git-guide/
> Git repo: http://github.com/marklodato/visual-git-guide/
> 
> If you have any feedback or suggestions, please let me know!

This looks really awesome, thanks for doing it (though I'll admit I
threw up in my mouth a little when I saw you did all of the diagrams as
TeX. ;) ).

One of the projects I have wanted to do but never found time for is a
"Git Picture Glossary". I was intending to start with much simpler
concepts, like how the various object types relate, what a ref is, how a
symref differs, what a detached HEAD is, etc. And then move on to "here
is what happens when you branch", "here is what happens when you merge",
etc. Sort of like "Git for Computer Scientists", but organized as a
glossary, with each entry starting off with "to understand this, you
first need to understand entries X and Y", with links.

And it seems like what you have done is more or less the same thing,
except you skipped all of the really basic entries and went straight to
the action-oriented ones.

-Peff

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: A Visual Git Reference
  2010-02-08 19:34 A Visual Git Reference Mark Lodato
                   ` (2 preceding siblings ...)
  2010-02-10  5:20 ` Jeff King
@ 2010-02-10 17:02 ` Dilip M
  2010-02-18  1:17 ` Michael Witten
  4 siblings, 0 replies; 18+ messages in thread
From: Dilip M @ 2010-02-10 17:02 UTC (permalink / raw)
  To: Mark Lodato; +Cc: git list

Hello Mark,


On Tue, Feb 9, 2010 at 1:04 AM, Mark Lodato <lodatom@gmail.com> wrote:
> All,
>
> I put together a "Visual Git Reference" containing visualizations of
> the most common git commands, for people who prefer to see images over
> text.  It is designed as a reference, not a tutorial, so readers need
> to have some amount of experience before the page will become useful.
>
> URL: http://marklodato.github.com/visual-git-guide/
> Git repo: http://github.com/marklodato/visual-git-guide/
>
> If you have any feedback or suggestions, please let me know!

This is very helpful for git users...:) Thanks...


-- 
Dilip

Everyone is gifted - but some people never open their package!

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: A Visual Git Reference
  2010-02-08 19:34 A Visual Git Reference Mark Lodato
                   ` (3 preceding siblings ...)
  2010-02-10 17:02 ` Dilip M
@ 2010-02-18  1:17 ` Michael Witten
  2010-02-18  1:39   ` Mark Lodato
  2010-02-18  1:39   ` Jeff King
  4 siblings, 2 replies; 18+ messages in thread
From: Michael Witten @ 2010-02-18  1:17 UTC (permalink / raw)
  To: Mark Lodato; +Cc: git

On Mon, Feb 8, 2010 at 1:34 PM, Mark Lodato <lodatom@gmail.com> wrote:
> All,
>
> I put together a "Visual Git Reference" containing visualizations of
> the most common git commands, for people who prefer to see images over
> text.

It would be great if you could output either larger images or
something that is resolution-independent like SVG.

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: A Visual Git Reference
  2010-02-18  1:17 ` Michael Witten
  2010-02-18  1:39   ` Mark Lodato
@ 2010-02-18  1:39   ` Jeff King
  1 sibling, 0 replies; 18+ messages in thread
From: Jeff King @ 2010-02-18  1:39 UTC (permalink / raw)
  To: Michael Witten; +Cc: Mark Lodato, git

On Wed, Feb 17, 2010 at 07:17:20PM -0600, Michael Witten wrote:

> On Mon, Feb 8, 2010 at 1:34 PM, Mark Lodato <lodatom@gmail.com> wrote:
> > All,
> >
> > I put together a "Visual Git Reference" containing visualizations of
> > the most common git commands, for people who prefer to see images over
> > text.
> 
> It would be great if you could output either larger images or
> something that is resolution-independent like SVG.

Try

  http://marklodato.github.com/visual-git-guide/index-svg.html

-Peff

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: A Visual Git Reference
  2010-02-18  1:17 ` Michael Witten
@ 2010-02-18  1:39   ` Mark Lodato
  2010-02-18  3:03     ` Michael Witten
                       ` (2 more replies)
  2010-02-18  1:39   ` Jeff King
  1 sibling, 3 replies; 18+ messages in thread
From: Mark Lodato @ 2010-02-18  1:39 UTC (permalink / raw)
  To: Michael Witten; +Cc: git

The first paragraph has a link to an SVG version of the page.  It's
not the default since SVG support varies greatly between browsers.
Still, I'll consider making the images bigger.

Thanks,
Mark

On Wed, Feb 17, 2010 at 8:17 PM, Michael Witten <mfwitten@gmail.com> wrote:
> On Mon, Feb 8, 2010 at 1:34 PM, Mark Lodato <lodatom@gmail.com> wrote:
>> All,
>>
>> I put together a "Visual Git Reference" containing visualizations of
>> the most common git commands, for people who prefer to see images over
>> text.
>
> It would be great if you could output either larger images or
> something that is resolution-independent like SVG.
>

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: A Visual Git Reference
  2010-02-18  1:39   ` Mark Lodato
@ 2010-02-18  3:03     ` Michael Witten
  2010-02-18 12:38     ` Tor Arvid Lund
  2010-02-18 12:53     ` Tay Ray Chuan
  2 siblings, 0 replies; 18+ messages in thread
From: Michael Witten @ 2010-02-18  3:03 UTC (permalink / raw)
  To: Mark Lodato, Jeff King; +Cc: git

On Wed, Feb 17, 2010 at 7:39 PM, Jeff King <peff@peff.net> wrote:
> Try
>
>  http://marklodato.github.com/visual-git-guide/index-svg.html

On Wed, Feb 17, 2010 at 7:39 PM, Mark Lodato <lodatom@gmail.com> wrote:
> The first paragraph has a link to an SVG version of the page.  It's
> not the default since SVG support varies greatly between browsers.

Oh... :-D

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: A Visual Git Reference
  2010-02-18  1:39   ` Mark Lodato
  2010-02-18  3:03     ` Michael Witten
@ 2010-02-18 12:38     ` Tor Arvid Lund
  2010-02-18 12:53     ` Tay Ray Chuan
  2 siblings, 0 replies; 18+ messages in thread
From: Tor Arvid Lund @ 2010-02-18 12:38 UTC (permalink / raw)
  To: Mark Lodato; +Cc: Michael Witten, git

On Thu, Feb 18, 2010 at 2:39 AM, Mark Lodato <lodatom@gmail.com> wrote:
> The first paragraph has a link to an SVG version of the page.  It's
> not the default since SVG support varies greatly between browsers.

Yes, it does :-)

For me (using Chrome 4 on windows), the SVG images are scaled a little
too big for the box that they are placed in, so the bottom and right
side is cropped.

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: A Visual Git Reference
  2010-02-18  1:39   ` Mark Lodato
  2010-02-18  3:03     ` Michael Witten
  2010-02-18 12:38     ` Tor Arvid Lund
@ 2010-02-18 12:53     ` Tay Ray Chuan
  2 siblings, 0 replies; 18+ messages in thread
From: Tay Ray Chuan @ 2010-02-18 12:53 UTC (permalink / raw)
  To: Mark Lodato; +Cc: Michael Witten, git

Hi,

On Thu, Feb 18, 2010 at 9:39 AM, Mark Lodato <lodatom@gmail.com> wrote:
> The first paragraph has a link to an SVG version of the page.  It's
> not the default since SVG support varies greatly between browsers.

Chrome 4 gives some parsing errors for the SVG files.

  Error: Problem parsing d=""

For example, line 5 of conventions.svg.

-- 
Cheers,
Ray Chuan

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: A Visual Git Reference
  2010-02-10  5:20 ` Jeff King
@ 2010-03-17 19:03   ` Scott R. Godin
  0 siblings, 0 replies; 18+ messages in thread
From: Scott R. Godin @ 2010-03-17 19:03 UTC (permalink / raw)
  To: git

On 02/10/2010 12:20 AM, Jeff King wrote:
> On Mon, Feb 08, 2010 at 02:34:21PM -0500, Mark Lodato wrote:
>
>> I put together a "Visual Git Reference" containing visualizations of
>> the most common git commands, for people who prefer to see images over
>> text.  It is designed as a reference, not a tutorial, so readers need
>> to have some amount of experience before the page will become useful.
>>
>> URL: http://marklodato.github.com/visual-git-guide/
>> Git repo: http://github.com/marklodato/visual-git-guide/
>>
>> If you have any feedback or suggestions, please let me know!
>
> This looks really awesome, thanks for doing it (though I'll admit I
> threw up in my mouth a little when I saw you did all of the diagrams as
> TeX. ;) ).

*chuckle* on the otherhand I was quite intrigued to find out that TeX 
was used to create all the graphics; especially after seeing all the 
examples at http://www.texample.net/tikz/examples/all/date/

(BTW great work on the guide, too, even if I am chiming in a bit late to 
this. still catching up to the news posts I'm behind on. augh.)

-- 
(please respond to the list as opposed to my email box directly,
unless you are supplying private information you don't want public
on the list)

^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2010-03-17 19:03 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-02-08 19:34 A Visual Git Reference Mark Lodato
2010-02-08 19:51 ` Peter Baumann
2010-02-08 20:21   ` Mark Lodato
2010-02-08 20:34     ` Jon Seymour
2010-02-08 20:57       ` Mark Lodato
2010-02-09  0:09     ` Johannes Schindelin
2010-02-08 21:57 ` Daniel Barkalow
2010-02-09  0:18   ` Mark Lodato
2010-02-10  3:40   ` John J. Franey
2010-02-10  5:20 ` Jeff King
2010-03-17 19:03   ` Scott R. Godin
2010-02-10 17:02 ` Dilip M
2010-02-18  1:17 ` Michael Witten
2010-02-18  1:39   ` Mark Lodato
2010-02-18  3:03     ` Michael Witten
2010-02-18 12:38     ` Tor Arvid Lund
2010-02-18 12:53     ` Tay Ray Chuan
2010-02-18  1:39   ` 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).