Intro to GitHub (Activity)

(Difference between revisions)
Jump to: navigation, search
(completion time and materials)
(Undo revision 4431 by Nyeates (talk))
Line 11: Line 11:
 
|-
 
|-
 
|'''Prerequisite Knowledge''' || A rudimentary understanding of command-line usage would be helpful, but not required.
 
|'''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
 
|'''Learning Objectives''' ||Upon completion, you will be able to
Line 19: Line 21:
 
* Commit changes to a GitHub repository.
 
* Commit changes to a GitHub repository.
 
* Issue pull requests to an upstream repository.
 
* Issue pull requests to an upstream repository.
 +
|-
 +
|'''Materials/Environment''' ||
 +
* Access to Internet/Web and web browser
 +
* Access to posix / unix shell command
 +
* Write access to local file system
 
|-
 
|-
 
|}
 
|}
Line 116: Line 123:
 
|'''Level of Difficulty''' || Easy
 
|'''Level of Difficulty''' || Easy
 
|-
 
|-
|'''Estimated Time to Completion''' || 30-60 minutes
+
|'''Estimated Time to Completion''' || 1-2 hrs
 
|-
 
|-
|'''Materials/Environment''' ||  
+
|'''Materials/Environment''' || Internet access, github account, machine with git
* Access to Internet/Web and web browser
+
* Access to posix / unix shell command
+
* Write access to local file system
+
 
|-
 
|-
 
|'''Author''' || Stoney Jackson, Heidi Ellis, Nick Yeates
 
|'''Author''' || Stoney Jackson, Heidi Ellis, Nick Yeates

Revision as of 21:59, 2 March 2016

Title

Introduction to Git and Github

Overview

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.

See Git_Activity_2 for the next in the series.

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.
Materials/Environment
  • Access to Internet/Web and web browser
  • Access to posix / unix shell command
  • Write access to local file system


Background

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: http://git-scm.com/ . 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


Directions

  1. Complete http://try.github.com.
  2. Log into GitHub.
  3. Fork this repository.
  4. In your forked copy, add your information to rollcall.md.
  5. Issue a pull request back to this repository.


Deliverables:

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.


Assessment:

Criteria Level 1 (fail) Level 2 (pass) Level 4 (exceptional)
Install Git Could not get it installed - errors that they couldn't get around and didnt come to get help for Installed with few issues Installed and put in correct directory
Configure Git Did not enter personal info and email (reflected by commits) Set it up with personal info (name, email) Set it up and put in special settings not normally mentioned
Fork a GitHub repository Forked it to incorrect space or could not fork it and didnt come for help Forked it to local space Forked it with correct context etc
Make changes to a repository Incorrect or no file changed rollcall.md file edited and but personal info not added rollcall.md file edited and personal information added
Commit changes to a GitHub repository Did not commit changes Commit comment is relevant but lengthy Commit comment is relevant and concise
Issue pull requests to an upstream repository No pull request received and no effort to gather help to fix it Upstream repo received pull request with commits asked for Upstream received descriptive pull request


Comments:

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 http://git-scm.com/doc


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 Easy
Estimated Time to Completion 1-2 hrs
Materials/Environment Internet access, github account, machine with git
Author Stoney Jackson, Heidi Ellis, Nick Yeates
Source https://github.com/foss2serve/git-activity
License Licensed CC BY-SA
Additional Information


Suggestions for the Open Source Project:

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

  • Explain to students what SCM tool they use. If it is not git, explain how it differs.



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

CC license.png

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