Git is excellent at merging different versions of projects. Furthermore, it is a distributed version control system, meaning that everybody has a full copy of the project locally and local copies exchange information via a shared remote (examples of remotes that allow for easy shared access include servers and Internet hosting services such as GitHub, GitLab, and Bitbucket).
These characteristics make Git a powerful collaboration tool: everybody can work simultaneously on their local copies—a huge benefit over having to work asynchronously on a unique copy sent back and forth!
There are various ways to collaborate on a project using Git and a shared remote:
- You initiate a project and want others to contribute to it (situation 1), or
- You want to contribute to a project started by someone else and
- You have write access to it (situation 2), or
- You do not have write access to it (situation 3).
This course will cover all three cases using GitHub as an example.
This course assumes working knowledge of Git. If you are new to it, you should first look at our introductory course.
