Nicholas "LB" Braden edited this page May 29, 2013 · 4 revisions
Clone this wiki locally

Welcome to the learnGitBranching wiki! New here? Check out the demo to see what this is all about. Want to mess around and see what's possible? Try the sandbox and use show commands to see how you can bend the world with your will.

Command Line Interface

learnGitBranching uses a command line interface with a visual branch diagram and expects you to know basic git commands. If you're trying to get familiar with git, have a look at try git instead, then come back when you're ready to learn branching.

Git Commands

When solving levels, git commands are the only commands that count toward your number of commands used. Not all git commands are supported, though, and those that are may only be partially supported. The focus of the project is on learning branching in git, so some things are intentionally not supported (e.g. git add, git rm, git mv, etc). Check the wiki page for a git command to see which aspects of it are supported.

List of supported git commands:

For more detailed information on how git commands are interpreted, see the source code.

Other Commands

For the purposes of the interactive learning environment, some additional commands are supported that are not normally supported in a command line environment. Most commands are specific to the environment you are currently in. None of the commands affect the number of commands used when solving levels.

Usable anywhere:

  • reset - revert the environment to the start of the level or initial sandbox
  • clear - clear command line window
  • level - load a specific level if you know the abbreviated name
  • levels - open a dialog showing inbuilt levels to select from
  • undo - go back to the previous state of the level or sandbox
Specific to Levels:
  • start dialog - show the dialog that introduces the level
  • show goal - show the window that shows you how your solution should look like
  • hide goal - hide the goal window to see command line history
  • show solution - show the intended solution for the level to compare it with your solution
  • objective - show the explanation for the objective again
  • hint - show some brief hint text
  • reset solved - un-solves all the levels you have solved
  • help level - shows the intro message again
  • exit level - same as sandbox
  • sandbox - enters Sandbox mode
Specific to the Sandbox:
  • build level - enters the Level Builder
  • export tree - gives you a copy-pastable JSON string that someone else can import to get an exact copy of your current environment (though no command history)
  • import tree - asks for the pastable JSON string that some else gave you to see an exact copy of their current environment (though no command history)
  • import level - loads a level that someone else created and asked you to solve
Specific to the Level Builder:
  • define start - mark the current environment state as the way the level should start and be reset to when playing
  • define goal - mark the current environment state as the way the level should end up to be solved
  • define hint - set the brief hint for people to use when the they stuck
  • define name - set a custom name for your level
  • edit dialog - set up the introduction dialog that plays at the start of the level to introduce a new concept and explain the objective
  • finish - get the copy-pastable JSON string that represents your newly-created level, ready to share with people who want to solve more levels