Interactive Visualization with Git

(Difference between revisions)
Jump to: navigation, search
m (Added category)
(Suggestions to Open Source Mentors:)
Line 86: Line 86:
 
--------------------
 
--------------------
  
[[Category: Learning_Activity]]
+
[[Category:Learning_Activity]]
 
[[Category:Communication_and_Tools]]
 
[[Category:Communication_and_Tools]]
 
+
[[Category:CS2]]
[[Category: CS2]]
+
[[Category:Git]]

Revision as of 17:39, 21 January 2017

Title Git: Interactive Visualization
Overview Students learn from an interactive visual git simulator / game. This activity cover both local (on your laptop) and remote (internet-based code repository) Git functionality.
Prerequisite Knowledge Git: Introduction to Github and Git: Working Locally from the Command Line 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.
  • Clone a remote repository.
  • Fetch changes from a remote repository.
  • Merge changes from a remote repository.
  • Rebase changes from a remote repository.
  • Describe the difference between _rebase_ and _merge_.
  • Push changes into a remote repository.
  • Describe the relationship between `git fetch`, `git merge`, and `git pull`
  • Describe the relationship between `git fetch` and `git push`.
  • Delete a remote branch.
  • Push changes into a remote repository after remote history has diverged.

Background:

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!

Directions:

LocalGit.png


Additional Information:

Knowledge Area/Knowledge Unit SE - Software Engineering / SE Tools and Environments from ACM_Body_of_Knowledge
Topic Software configuration management and version control
Level of Difficulty Medium, as the advanced commands become more difficult to follow
Estimated Time to Completion 2-4 hrs
Materials/Environment
  • Access to Internet/Web and web browser
  • Github account (or any online Git hosting)
Author Stoney Jackson, Nick Yeates
Source http://pcottle.github.io/learnGitBranching/
License

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


Suggestions to Open Source Mentors:

Suggestions for an open source community member who is working in conjunction with the instructor.

  • Mentors might show what websites and resources (Stackoverflow, IRC, etc) they often utilize when they are stuck or something unexpected happens upon committing or branching.
    • What troubleshooting steps do they use in their head?
    • Do they chat or talk to fellow project-members or work colleagues?



Personal tools
Namespaces
Variants
Actions
Events
Learning Resources
HFOSS Projects
Evaluation
Navigation
Toolbox