Git: GitHub Workflow Activity

From Foss2Serve
Jump to: navigation, search


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 Body of Knowledge
Area & Unit(s)

Software Engineering (SE)

ACM Topic(s)

Software configuration management and version control.

Level of Difficulty

medium

Estimated Completion Time

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