DevLearn logo
Skill Up With Me
Interactive Learning
Signing in…

Что такое системы контроля версий (VCS)?

🔒 Sign in to use this
Why does a programmer need a "time machine"?

Imagine: yesterday the code worked; today, after edits, everything broke. Without a version control system (VCS) you would have to copy the project folder by hand and name it project_final_v2_LAST. A VCS solves three things at once: it records who changed what and when, lets you compare any two versions line by line, and lets you roll back to any previous state. In this chapter you will go from the idea of VCS all the way to practice — installing Git, creating repositories, the file lifecycle, viewing history, and .gitignore.

The evolution of version control
Click an era to see what changed ▶
Before VCS
📁
Local VCS (RCS)
💾
Centralized (CVS, SVN)
🌐
Distributed (Git, Mercurial)
🚀
NOW
This is what Git history actually looks like

Git doesn't store files linearly — it stores a graph of commits. Each commit points to its parent(s). Branches are just named pointers to commits. When you create a feature branch, merge it back, and tag a release, you get a graph like this. Click any commit to see its details.

Click any commit to inspect it. Lines show parent → child relationships.
GIT GRAPH · 4 branches · 12 commits
v0.5v1.0MAINDEVELOPHOTFIXFEATURE
Git Graph
Click a commit to see details
MAIN
DEVELOP
HOTFIX
FEATURE
12 commits · 4 branches · click a commit to inspect
Three main jobs of a VCS
Why you need version control at all
📸
Snapshots
👥
Teamwork
🌿
Experiments
Why Git specifically?

Git was created in 2005 by Linus Torvalds to manage the Linux kernel source code — a project with thousands of contributors and decades of history. The design priorities were: speed, data integrity, and support for distributed non-linear workflows (many branches). Today Git is the de facto standard for version control: nearly all open-source projects, and most companies, use it.

The basic local Git cycle — click through each step ▶
✏️
Edit
modify files in your editor
📥
Stage
git add — mark files for next commit
💾
Commit
git commit — snapshot in local history
☁️
Push
git push — send commits to remote
ℹ️Git ≠ GitHub. Git is the version control program that runs on your machine — it works completely offline. GitHub, GitLab, and Bitbucket are hosting services built on top of Git that add collaboration features (pull requests, issue tracking, CI/CD). You can use Git without any of them.
🔒 Sign in to use this