Interactive Visualization with Git

From Foss2Serve
Revision as of 05:39, 17 July 2015 by Nyeates (Talk | contribs)
Jump to: navigation, search
Title Visual Git Game #1
Overview Students learn from an interactive visual git simulator / game. This activity focuses on LOCAL Git functionality (such as that on your laptop, NOT remote internet-based code repositories).

See Git_Activity_4 for the next in the series.

Prerequisite Knowledge Git_Activity and Git_Activity_2 or an introductory understanding of what SCM is about, and basic git commands.
Learning Objectives Students will be able to ...
  • Create a branch.
  • Checkout a branch.
  • Create a tag.
  • Checkout a tag.
  • Merge a branch into another.
  • Rebase a branch onto another.
  • Cherry-pick commits.
  • Use relative commit references to refer to commits.
  • Move branches to a different commit.
  • Detach and move around HEAD.
  • Explain the difference between a branch, a tag, and HEAD.


Is there background reading material?

What is the rational for this activity?

  • Getting familiar with git from the command line is not easy. This activity makes it a game!


  • Go to tutorial at:
  • Complete all activities under the Main tab
  • Take screenshots of your solutions, AS YOU GO through each section
    • 15 sections in all, so 15 screenshots
  • Init, commit, and then create a remote repo (on github or elsewhere online) of your screenshots
    • REMINDER: reuse of open source code is encouraged; submission of someone else's answers is academic plagiarism and will be enforced


  • Send URL / link of remote internet-accessible repository to instructor.
  • 15 Screenshots of the solutions of each section, with commits




What are some likely difficulties that an instructor may encounter using this activity?

  • Students might easily plagiarize or copy of each others screenshots to the solutions.
  • To fight this, a REMINDER has been added in the directions.
  • Teachers might also mentioned it in-class and spot-check for it in grading.

Additional Information:

Knowledge Area/Knowledge Unit SE - Software Engineering from ACM_Body_of_Knowledge
Topic SE Software Processes, SE Software Project Management, SE Tools and Environments
Level of Difficulty Medium, as the advanced commands become more difficult to follow
Estimated Time to Completion 1-3 hrs
  • Access to Internet/Web and web browser
  • Github account (or any online Git hosting)
Author Stoney Jackson, Nick Yeates

The MIT License (MIT) Copyright (c) 2012 Peter Cottle

Suggestions for the Open Source Project:

Personal tools
Learning Resources
HFOSS Projects