Intro to GitHub (Activity)

From Foss2Serve
Revision as of 20:20, 16 July 2015 by Nyeates (Talk | contribs)
Jump to: navigation, search




Introduction to Github


Learner will get started with Git and Github by working on a remote repository shared by other workshop learners. How to fork, edit, and push with Git.

Prerequisite Knowledge A rudimentary understanding of command-line usage would be helpful, but not required.
Estimated Time to Completion 30-60 minutes
Learning Objectives Upon completion, you will be able to
  • Install Git.
  • Configure Git.
  • Fork a GitHub repository.
  • Make changes to a repository.
  • Commit changes to a GitHub repository.
  • Issue pull requests to an upstream repository.
  • Access to Internet/Web and web browser
Additional Information
Rights Licensed CC BY-SA (?)
Turn In Your information added to a shared repository.


For the impatient, you may skip down to the [Directions] section and get started. If you would prefer an overview of Git first, there are some great introductory videos on Git's site: . Namely:

  • Git Basics: What is Version Control?
    • If you are new to version control, or just want to gain a deeper understanding of it, this is 6 minutes of your life well spent.
    • Watch the video
  • Git Basics: What is Git?
    • This 8 minute video gives you a quick overview of git, why it exists, who it serves, what it can do, and explains some of its advantages.
    • Watch the video
  • Git Basics: Get Going with Git
    • This 4.5 minute video gives you an overview of installing and configuring git, as well as how to set up your first git repository. You could try to follow along and attempt each step, but I recommend just observing for now and appreciating the simplicity of setup. Later you'll complete a tutorial that will have you perform these same steps.
    • Watch the video
  • Git Basics: Quick Wins with Git
    • Still not convinced? Need more reasons to use Git? Whether you are gearing up for a water cooler debate about version control systems, or you just want to get a better understanding of the Git philosophy and the features that implement those philosophies, this 5 minute delivers.
    • Watch the video


  1. Complete
  2. Log into GitHub.
  3. Fork this repository.
  4. In your forked copy, add your information to
  5. Issue a pull request back to this repository.


The teacher, who is in charge of the upstream repository, will get the pull request. A proper pull request, with a relevant commit comment and edited file are expected.


Criteria Level 1 (fail) Level 2 (pass) Level 3 (good) Level 4 (exceptional)
Pull Request No request received Pull request received
Commit comment No commit comment Commit comment is there but not relevant Commit comment is relevant but lengthy Commit comment is relevant and concise
Edited file No or wrong file edited file edited and personal information added


What are some likely difficulties that an instructor may encounter using this activity? Students may get caught up on which order to enter commands into the command line. Review resources at

Additional Information:

Knowledge Area/Knowledge Unit What ACM Computing Curricula 2013 knowledge area and units does this activity cover? ACM_Body_of_Knowledge
Topic What specific topics are addressed? The Computing Curriucula 2013 provides a list of topics -
Level of Difficulty Is this activity easy, medium or challenging?
Estimated Time to Completion How long should it take for the student to complete the activity?
Materials/Environment What does the student need? Internet access, IRC client, Git Hub account, LINUX machine, etc.?
Author Who wrote this activity?
Source Is there another activity on which this activity is based? If so, please provide a link to the original resource.
License Under which license is this material made available? (

Suggestions for the Open Source Project:

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

This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License

CC license.png

Personal tools
Learning Resources
HFOSS Projects