Overview
git is a distributed version-control system that track changes in computer files and coordinate that work among multiple people.
You do not required to store all the files in a central store, you have clones of the copy of the repository and has the entire history of the project in those clones.
You can self-host a server to store the code and it's metadata like:
Or use third-party service like: