A brief introduction to version control and Git
A version control system (sometimes called revision control) is a tool that lets you track the history and attribution of your project files over time (stored in a repository) and helps the developers in the team to work together. Modern version control systems give each developer their own sandbox, preventing their work in progress from conflicting, and all the while providing a mechanism to merge changes and synchronize work. They also allow us to switch between different lines of development, called branches; this mechanism allows the developer to change, for example, from working on introducing a new feature step by step to fixing the bug in an older, released version of the project.
Distributed version control systems (such as Git) give each developer their own copy of the project’s history, which is called a clone of a repository. This is what makes Git fast, because nearly all operations are performed locally. It is also...