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