GitHub

GitHub is a collaboration platform for developers that offers “version control” features for staging and tracking changes to code and related documents.

Why Use This Tool

  • Before GitHub, OSC kept most files in personal Google Drives. This created access and continuity issues for projects over time!
  • Now, all OSC projects have GitHub repositories within a common GitHub Organization
  • GitHub is the industry standard for collaborating on code-based projects (apps, automation, etc)
  • GitHub is also useful for projects focusing on docs, marketing, community
  • New volunteers can scroll through active project repo’s to find a way to engage

Installation and Setup

  • To participate in Open Source Commons, you need to have a (free) account with GitHub.com
  • We recommend using GitHub Desktop if you will be a frequent contributor and/or code engineer
  • Learn more about GitHub Setup on this Trailhead trail

Going Deeper

Here is an overview of GitHub features that OSC project teams commonly use

  • Repositories: contain a project’s files and editing history
  • Read Me file: we require each Repo to have a Read Me file. This is a great place to get started!
  • Issues: A combination of “to do” items including: new features, bugs, feedback, etc
  • Actions: A type of GitHub automation, generally used for testing purposes
  • Wiki: An area of a Repo that is ideal for storing documentation and other long-form writing
  • Releases: A way of packaging GitHub code for installation
  • Discussions: Threaded communication hub for discussion of Issues and other project related items
  • Branches: An experimental version of the Main repo, that may contain your personal contribution to the project
    • Some Repos may have a “branch” naming convention
  • Pull requests: Feature for submitting your changes to the files in the repo, which can be tested and approved by project leaders