Once a GitHub account is registered, the user is able to create their own directory of files and content, which is called repository. After creating a repository, one is able to create the so-called master branch. GitHub master branches represent the single starting point of any project. It is up to the user to make a project available to anyone (public repository) or to restrict the access to it and share only with certain users (private repository). From a master branch, sub-branches can be created, which basically allows the user to work on various aspects of the project separately. On a public repository, other users are able to suggest changes to the code, eventually uploading new versions of the files. Suggestions are made through a feature called pull request, which enables the developers to discuss and review the potential changes before they are effectively applied. The GitHub platform offers a variety of features and tools that make it easy for developers to make or revert changes and to track their overall progress.
A pull request allows users to tell others about the changes they have made to a certain branch or repository. When a pull request is created, the user is taken to an overview screen where he can easily review all the changes made to the code, comparing the old and the new version. Therefore, all changes are documented and recorded and users may also add comments, labels, and milestones or even assign specific tasks to other contributors.
GitHub is free for all open source and commercial development projects. However, the free plans limit the numbers of private and public repositories that can be created by an account. The free plans also limit the number of collaborators a project can have. Therefore, larger projects may need to upgrade to a paid GitHub plan, according to their needs.