Skip to Main Content

Open Source Roadmap: Glossary

Git and GitHub Terms

These can be confusing, hopefully these explanations will help

Git
Version control system
GitHub
Platform to host Git
GitHub Issue
Title and description of the task to be done: idea, bug, feature etc
Git Commit
A commit is a change to the files in the project. This is usually done when a task is completed, or a bug is fixed. This is usually done via a Pull Request
GitHub Pull Request (PR)
Similar to GitHub Issue, it has a title and description, but it also contains changes to the project files. These changes are done via a commit and can be reviewed by anyone and anyone can leave comments. Only maintainers on the project can accept or reject these project changes. A Pull Request can contain multiple commits
Repository (repo) aka Project
Originally the repository was only the files, but now is also the project management side, including issue/task tracking, automation, wiki etc
Git branch
A copy of the files in the same repository
GitHub Fork
Copy of the Repository (project) into another account. This is done so they can make changes to the project, and suggest these changes back via a Pull Request
Git Merge
Accepting file changes from one branch into another (this can be within the same Repository or across Forks). This is done via a Pull Request
Git Conflict
When the same file has been changed in two different branches, and Git cannot automatically merge the changes. This needs to be done manually, and is usually done by the person who created the Pull Request
GitHub Actions
This is automation that occurs when certain events happen, such as a Pull Request being created, or a new version of the project being released. This can be used to run tests, or to deploy the project to a server
Git Tag / GitHub Release
This is a way to mark a specific version of the project. This is usually done when a new version of the project is released. This can be used to deploy the project to a server, or to create a downloadable file for users to install