GitHub is a source code host and collaboration tool originally built for programmers. At our Coder Dojos, we use GitHub to design, build, and manage our course curricula as well as our events and mentors. Since not every mentor works with GitHub on a regular basis, this guide seeks to clarify the ways in which we use
A repository encapsulates a single project on GitHub. It contains the current files and folders associated with the project as well as its complete history, issues, pull requests, and in some cases a wiki. Each repository can be either public, visible to everyone on the internet, or private, visible only to logged in users with permission to view the repository.
An issue usually describes a problem with a project. But we also use them to ask questions, make suggestions, and foster discussion regarding the repository.
A fork of a repository is a copy on GitHub made for another user to push their own changes, usually so they can be seen by the repository's owners and used to create a pull request. Forks which exist solely on GitHub are distinct from repository clones, which are created on your local computer.
A pull request is a proposal to change the files in a repository. Usually pull requests fix bugs or suggest improvements.
An organization on GitHub is an account managed by multiple individuals that has its own repositories and teams separate from the individuals. CoderDojoSV is an organization on GitHub which houses repositories related to the operation of our dojos.
A team is a subset of an organization on GitHub. In order to belong to an organization, you must belong to at least one team. Teams have three levels of permissions: read-only, read and write, and admin. There is a help article on the different team permissions. There is one special team in every organization called the owners team. It manages all teams and repositories in the organization. Teams can be mentioned in conversation on GitHub just like individual users.
Is there something on GitHub that you don't understand? Open an issue and let us know. You might also find the GitHub Glossary useful which has many more terms explained.