Key concepts

Version control system

A version control system (also known as a VCS) is a tool that helps you manage changes to your project's files over time. It lets you track the history of your project, restore previous states, and collaborate with others.

There are two main types of version control systems: centralized and distributed. Most version control systems of the past were centralized: they had a single server that stored the repository and managed the history. This setup had some serious drawbacks. You had to be connected to the server to work on the project, and if the server went down, no one could work on the project.

In a distributed version control system (DVCS), every user has a full copy of the repository, including its history, on their local machine. Changes are made locally and then shared between repositories as a set of changes (or patches). This setup allows for several advantages:

  • Work offline: Users can commit changes, review history, and perform other version control tasks without a network connection since they have a full copy of the repository.
  • Enhanced collaboration: Developers can share changes with each other in various ways before integrating them into a "main" repository.
  • Increased redundancy: Every copy of the repository is a full backup, which can improve disaster recovery.

Examples of DVCS include Git and Mercurial.

© 2024-2025 GitByBit.All rights reserved.

Hi! I'm Alex, creator of GitByBit.

And this is Gitopedia—a reference that summarizes knowledge in my Git course.

Gitopedia is designed to be a personal knowledge base. When you progress through the main Git course in VS Code, you unlock all of these topics, one by one, bit by bit. This gives you time to digest the information and gradually build the mental model of Git. Here's an example of how it works:

Learning directly in VS Code lets you practice Git exactly as you would in real life, doing real jobs, writing real code. In addition, the course has access to your actual terminal, so it can point out mistakes, suggest workarounds, etc.

The course is FREE, there are no Ads or other bullshit. There are optional premium add-ons you can purchase, mainly to support my work (regrettably, I have to eat every day), but that's totally up to you.

Learn Git in VS Code