Git: GitHub Workflow Activity

From Foss2Serve
(Difference between revisions)
Jump to: navigation, search
(Feedback:)
 
Line 1: Line 1:
 
__NOTOC__
 
__NOTOC__
{| border="1"
 
|-
 
|'''Title''' || GitHub Workflow Activity
 
|-
 
|'''Overview''' || Participants, in teams of 2-3, work through a series of scenarios to learn how to contribute to open-source projects using a common workflow.
 
|-
 
|'''Prerequisite Knowledge''' || Participants must be able to:
 
  
 +
{{Learning Activity Overview
 +
|title=
 +
GitHub Workflow Activity
 +
|overview=
 +
Participants, in teams of 2-3, work through a series of scenarios to learn how to contribute to open-source projects using a common workflow.
 +
|prerequisites=
 +
Participants must be able to:
 
* Local git repository operations:
 
* Local git repository operations:
 
** Stage changes
 
** Stage changes
Line 18: Line 18:
 
* Plaintext editor operations:
 
* Plaintext editor operations:
 
** Edit and save a file
 
** Edit and save a file
 
+
|objectives=
|-
+
|'''Learning Objectives''' || Participants will be able to:
+
 
+
 
* Use a common workflow to contribute code to a project on GitHub
 
* Use a common workflow to contribute code to a project on GitHub
 
** Prepare a fork and local repository to contribute changes to upstream project on GitHub
 
** Prepare a fork and local repository to contribute changes to upstream project on GitHub
Line 38: Line 35:
 
** Force push changes to remote
 
** Force push changes to remote
 
** Squash commits
 
** Squash commits
 +
|process skills=
 +
}}
  
|}
+
=== Background ===
  
=== Background: ===
 
 
To learn git prerequisite knowledge, students should first complete [[Git:_Git_Intro_Activity]].
 
To learn git prerequisite knowledge, students should first complete [[Git:_Git_Intro_Activity]].
  
=== Directions: ===
+
=== Directions ===
 +
 
 
See: https://github.com/StoneyJackson/github-workflow-activity
 
See: https://github.com/StoneyJackson/github-workflow-activity
  
 +
=== Deliverables ===
  
=== Deliverables: ===
 
 
A shared repository on GitHub.
 
A shared repository on GitHub.
  
 +
=== Assessment ===
  
=== Assessment: ===
+
This activity was not designed for assessment.  
This activity was not designed for assessment. If one wanted to, one could possibly assess group answers to worksheet questions and the state of each group's shared repository. One could also assess teamwork by circulating while students are working on the activity.
+
If one wanted to, one could possibly assess group answers to worksheet questions and the state of each group's shared repository.  
 +
One could also assess teamwork by circulating while students are working on the activity.
  
 +
=== Comments ===
  
=== Comments: ===
+
=== Additional Information ===
  
=== Additional Information: ===
+
{{Learning Activity Info
{| border="1"
+
|acm unit=
|-
+
Software Engineering (SE)
|'''ACM Knowledge Area/Knowledge Unit''' || Software Engineering (SE)
+
|acm topic=
|-
+
Software configuration management and version control.
|'''ACM Topic''' || Software configuration management and version control.
+
|difficulty=
|-
+
medium
|'''Level of Difficulty''' || Medium
+
|time=
|-
+
70 minutes. Some teams may not finish.
|'''Estimated Time to Completion''' || 70 minutes. Some teams may not finish.
+
|environment=
|-
+
Each student needs a computer with git installed and configured, and an account on GitHub.  
|'''Materials/Environment''' || Each student needs a computer with git installed and configured, and an account on GitHub. The classroom must provide Internet access for all students' computers.
+
The classroom must provide Internet access for all students' computers.
|-
+
|author=
|'''Author(s)''' || Darci Burdge and Stoney Jackson
+
Darci Burdge and Stoney Jackson
|-
+
|source=
|'''Source''' || https://github.com/StoneyJackson/github-workflow-activity
+
https://github.com/StoneyJackson/github-workflow-activity
|-
+
|license=
|'''License''' || (c) 2016 Darci Burdge and Stoney Jackson SOME RIGHTS RESERVED
+
(c) 2016 Darci Burdge and Stoney Jackson SOME RIGHTS RESERVED
 +
{{License CC BY SA}}
 +
}}
  
This work is licensed under the Creative Commons Attribution-ShareAlike 4.0 International License. To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/4.0/ .
+
=== Suggestions for Open Source Community ===
|}
+
  
=== Suggestions for Open Source Community: ===
 
  
 +
=== Feedback ===
  
=== Feedback: ===
 
 
Feedback to the author(s) of the activity regarding usage or suggestions for enhancements can be included via the discussion tab.
 
Feedback to the author(s) of the activity regarding usage or suggestions for enhancements can be included via the discussion tab.
  
--------------------
 
This work is licensed under a
 
[http://creativecommons.org/licenses/by-sa/4.0/ Creative Commons Attribution-ShareAlike 4.0 International License]
 
 
[[File:CC_license.png]]
 
 
[[Category:Learning_Activity]]
 
[[Category:Learning_Activity]]
[[Category:Communication_and_Tools]]
+
[[Category:Communication and Tools]]
 
[[Category:CS1]]
 
[[Category:CS1]]
 
[[Category:CS2]]
 
[[Category:CS2]]
 
[[Category:Git]]
 
[[Category:Git]]
 
[[Category:Good Draft]]
 
[[Category:Good Draft]]

Latest revision as of 22:58, 7 September 2018


Title

GitHub Workflow Activity

Overview

Participants, in teams of 2-3, work through a series of scenarios to learn how to contribute to open-source projects using a common workflow.

Prerequisites

Participants must be able to:

  • Local git repository operations:
    • Stage changes
    • Commit changes
    • Check the status of the repository
  • Command-line operations:
    • Change working directory (cd)
  • Filesystem operations:
    • Create, rename, move, and delete directories and files
  • Plaintext editor operations:
    • Edit and save a file
Learning
Objectives
After successfully completing this activity, the learner should be able to:
  • Use a common workflow to contribute code to a project on GitHub
    • Prepare a fork and local repository to contribute changes to upstream project on GitHub
      • Fork a project on GitHub
      • Clone a local repository from a remote repository
      • Create a remote in local repository to a remote repository
    • Prepare a branch to work on a feature or bug
      • Create a local branch
      • Push a local branch to a remote
    • Issue a pull-request on GitHub
    • Update repository with changes from upstream
      • Fetch upstream changes into local repository
      • Rebase feature branch onto upstream development branch
      • Resolve conflicts
    • Push changes to remote
    • Force push changes to remote
    • Squash commits
Process Skills
Practiced


Background

To learn git prerequisite knowledge, students should first complete Git:_Git_Intro_Activity.

Directions

See: https://github.com/StoneyJackson/github-workflow-activity

Deliverables

A shared repository on GitHub.

Assessment

This activity was not designed for assessment. If one wanted to, one could possibly assess group answers to worksheet questions and the state of each group's shared repository. One could also assess teamwork by circulating while students are working on the activity.

Comments

Additional Information

ACM BoK
Area & Unit(s)

Software Engineering (SE)

ACM BoK
Topic(s)

Software configuration management and version control.

Difficulty

medium

Estimated Time
to Complete

70 minutes. Some teams may not finish.

Environment /
Materials

Each student needs a computer with git installed and configured, and an account on GitHub. The classroom must provide Internet access for all students' computers.

Author(s)

Darci Burdge and Stoney Jackson

Source

https://github.com/StoneyJackson/github-workflow-activity

License

(c) 2016 Darci Burdge and Stoney Jackson SOME RIGHTS RESERVED

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

CC license.png


Suggestions for Open Source Community

Feedback

Feedback to the author(s) of the activity regarding usage or suggestions for enhancements can be included via the discussion tab.

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