The Git-it app runs in your – Terminal or Bash (Windows) and has challenges for learning Git and GitHub. It uses the real terminal (so you'll be learning the awesome command line), and it uses real Git and GitHub which means when you finish all of the challenges you'll have real repositories on your GitHub account and green squares on your contribution chart!
The app is written in Node.js, is on NPM and there are others like it at nodeschool.io.The Guide walks you through the challenges and is bundled with the app, so it works offline and can be used as a resource whenever.