Giter Site home page Giter Site logo

acecode / learngitbranching Goto Github PK

View Code? Open in Web Editor NEW

This project forked from pcottle/learngitbranching

2.0 2.0 0.0 3.31 MB

An interactive git visualization to challenge and educate!

Home Page: http://pcottle.github.com/learnGitBranching/?demo

License: MIT License

JavaScript 100.00%

learngitbranching's Introduction

LearnGitBranching

LearnGitBranching is a pseudo-git sandbox and interactive series of tutorials / challenges to accelerate the understanding of how git commit trees work. The ideal audience is a complete newcomer to git, but a wide range of experience levels should be able to benefit from these tutorials.

It supports a fairly wide range of commands and dynamically visualizes the effects each change has on a commit tree visualization next to the command box:

You can see the demo here: http://pcottle.github.com/learnGitBranching/?demo

or use the vanilla app here: http://pcottle.github.com/learnGitBranching/

Sandbox Mode

Sandbox mode is where you can mess around and just see what certain git commands do. It is moderately helpful, but the real magic lies in levels...

Levels

Type levels to see the available levels. These are a mix of tutorials and challenges to introduce git concepts and get newcomers familiar with certain workflows. There is also a "git golf" concept that tracks how many commands you used to solve the level :P

Level Builder

You can build levels with build level. The dialog should walk you through the majority of the commands -- at the end you will get a JSON blob that you can share with friends or paste into a Github issue.

Contributing Levels

I would love for more levels to be added! I think there is a ton to learn and cover. Hopefully the community together can build a great tool for all git newcomers. You can make your own levels with

build level

In the application. You will be walked through the process, and at the end you can export level to get a JSON blob. Paste that in a gist or directly into an issue and I can check it out / merge in your changes!

Contributing Functionality

For contributing core functionality in the app, you will need to install the grunt build tool. The general steps:

git clone <your fork of the repo>
cd learnGitBranching
npm install
git checkout -b newAwesomeFeature
# some changes
grunt build # now you can open up your browser to the index.html and see your changes
grunt watch # will keep watch over files and fastBuild whenever they change
# more changes
grunt build
git commit -am "My new sweet feature!"
git push
# go online and request a pull

Helpful Folks

A big shoutout to these brave souls for extensively testing our sandbox and finding bugs and/or inconsistencies:

  • Nikita Kouevda
  • Maksim Ioffe
  • Dan Miller

And the following heroes for assisting in translating:

  • Jake Chen
  • 우리깃 ("urigit")
  • "bcho"

Also huge shoutout for everyone who has put up a pull request that was pulled:

  • Aaron Schrab - 4x!!
  • Stephen Cavaliere
  • Andrew Ardill
  • Shao-Chung Chen
  • Tobias Pfeiffer
  • Luke Kysow - 2
  • Adam Brodzinski
  • Hamish Macpherson
  • Cameron Wills
  • Johan ("josso")
  • Frode Austvik
  • Don Kirkby

Or reported an issue that was successfully closed!

  • Caspar Krieger
  • Stuart Knightley
  • John Gietzen
  • Chris Greene
  • "datton"
  • Jaymes Bearden
  • Jan-Erik Rediger
  • Scott Bigelow
  • "ortin"
  • Dave Myron
  • "chosenken"
  • Mael P ("maelp")
  • "flying-sheep"
  • "arianvp"
  • "MaPePeR"
  • Lutz ("mobilutz")
  • Jan Philipp
  • Jon Frisby
  • Matthew Walker

learngitbranching's People

Contributors

acecode avatar adambrodzinski avatar aschrab avatar dannvix avatar delasteve avatar donkirkby avatar hamstu avatar johankj avatar pcottle avatar pragtob avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.