Open Source Roadmap: Glossary
Git and GitHub Terms
These can be confusing, hopefully these explainations 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