Learn Git Branching
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<p>The link everyone should see is the demo:
<a href="http://pcottle.github.com/learnGitBranching/?demo" rel="nofollow">http://pcottle.github.com/learnGitBranching/?demo</a><p>That shows a few example commands, the completion of a level, and finishes with the help dialog.<p>Some interesting technical highlights<p>- I made heavy use of javascript "Promises" to route control through the entire app. The source code has some nice examples, but it would be callback spaghetti without it<p>- You can import and export trees to share with your friends ("import tree" and "export tree" commands)<p>- You can build levels from within the app with "build level". The intro diaog should step you through the process<p>- It even supports interactive rebasing! Try it out with "git rebase -i HEAD~3"<p>Git is a fairly complex too that can be explained really well graphically. I never understood what I was doing until I saw diagrams in the git manpages and various books around on the internet. I wanted there to be an interactive form of these diagrams but it didn't exist --- so I built it.<p>9,000 lines of JS later I have this. There's still some polishing to be done, but I'd love for the community to share their knowledge about different git workflows and different ways to explain git concepts.<p>I tried to make the bar for contributing as low as possible. You can build a level and submit a pull request without even cloning the repo!