Live data from Hacker News

Learn Git Branching

pcottle.github.com

41–50 of 144 posts

Re: Learn Git Branching

#41

Wow! Author here, did not expect this to get submitted to HN yet (was going to finish out a few more levels this weekend and clean everything up). Forgive the giant "TODO" in the help dialog The link everyone should see is the demo: http://pcottle.github.com/learnGitBranching/?demo That shows a few example commands, the completion of a level, and finishes with the help dialog. Some interesting technical highlights -…

Very nice! I worked through all the levels you have and everything worked great, it was a lot of fun.

Some notes: I "cheated" and used cherry-pick before it was introduced, not sure if that should or should not be allowed. Sometimes I was frustrated because my graph looked like the goal except for "ghosted" nodes, had to go back and figure out a different way to solve the level the right way. I wished I had an "undo" feature to take back moves rather than resetting everything. Lots more hints would be good, this stuff is hard.

Honestly I learned more git in the last 10 minutes than I've learned in a year of using git, or from several hours reading git tutorials.

Re: Learn Git Branching

#42

Wow! Author here, did not expect this to get submitted to HN yet (was going to finish out a few more levels this weekend and clean everything up). Forgive the giant "TODO" in the help dialog The link everyone should see is the demo: http://pcottle.github.com/learnGitBranching/?demo That shows a few example commands, the completion of a level, and finishes with the help dialog. Some interesting technical highlights -…

Very nice! I worked through all the levels you have and everything worked great, it was a lot of fun. Some notes: I "cheated" and used cherry-pick before it was introduced, not sure if that should or should not be allowed. Sometimes I was frustrated because my graph looked like the goal except for "ghosted" nodes, had to go back and figure out a different way to solve the level the right way. I wished I had an "undo"…

Wow that's great to hear! Seriously, really glad someone found it useful. That's the entire reason I built it.

Levels support a "disable-map" that will prevent certain commands from executing. I somewhat foolishly assume that users only learn commands as I introduce them, but I should go back and lock down some of the levels.

Also, I'm working on a way to compare trees without the ghosted nodes --- it's a bit tricky, but if anyone loves graph traversal and would love to help, chime in on github!

Re: Learn Git Branching

#43

Excellent work! I've wanted an easy way to explain git branching to people and from now on I'll point them to this.

Same! Sometimes I would like to introduce my coworkers to the amazing world of git, but it's hard to convince them without showing them a concrete example, this one is a pretty nice overview, and also useful for advanced users! I just got a better, more intuitive understanding of what detached HEAD really means thanks to it!

No problem, really glad you like it. I think one of the most important distinctions as well is the difference between rebasing and merging -- I show this off in the demo link:

http://pcottle.github.com/learnGitBranching/index.html?demo

I never understood why some repos only accept rebase commits until I actually looked up how the graph is wildly different depending on the command

Re: Learn Git Branching

#44
post #4

I'm only getting started with the tutorials but this looks really promising! I also like the fact that there are no instructions on the page which would make this really useful as a quiz tool to see how students / interview candidates / etc approach the problem space. I fully intend to fork and try to make my own levels when I get some free time. Great concept. Is this based on something else similar or entirely new?

LearnGitBranching is somewhat the intersection between try.github.com (which has the whole fake command line thing) and the diagrams drawn in the git manpages. Try.github was an awesome way to present a tutorial, but it wasn't the full-fledged demo I wanted it to be. A few months later I came out with this!

Re: Learn Git Branching

#47
Since the author mentions that it's not ready for submission and use yet, I won't complain that I didn't know what to do with this demo at first.

After reading these comments, it became obvious how great the thing is and going back with that in mind made the app more enjoyable

Re: Learn Git Branching

#48
post #24

I would try it out but, fullscreened, I get the message "That window size is not supported :-/" How about letting me worry about that and continue anyway? What is the worst that could happen, I have to use a scrollbar?

I support a fairly wide range of zoom levels... from +3 levels zoomed in to almost any level zoomed out. The main reason why I can't do more than 4 is the way canvas pixels interact with screen pixels and some of the text positioning logic. If you're at a normal zoom level and getting that message, certainly let me know -- the zoom level detection logic is a unfortunately pretty hacky.

It gave me the same message on my netbook (1024x600) at 100% zoom. I had to zoom out a few levels to make it happy, but then I couldn’t read the text. :(

Re: Learn Git Branching

#50
post #25

Earlier quoted context omitted.

Same! Sometimes I would like to introduce my coworkers to the amazing world of git, but it's hard to convince them without showing them a concrete example, this one is a pretty nice overview, and also useful for advanced users! I just got a better, more intuitive understanding of what detached HEAD really means thanks to it!

Git is amazing, I just wish if there was a better conflict resolving approach in Git.

Do you really? I like the fact that git doesn't try anything clever when it hits a conflict and asks you to fix by hand. Have you found an automatic conflict resolution tool that you liked before?
Post reply on HN