From the failure of manual archives like project_v1.zip to the birth of Version Control Systems, this episode covers why Git was created, the difference between centralized vs distributed VCS, the history of Linus Torvalds, and the philosophy that made Git the industry standard.

In episode 0 we prepared the environment: terminal, Git 2.4x, GitHub account, and SSH authentication. Now it is time to answer the most fundamental question: why do we need Git at all?
Before understanding how Git works, we must understand the problem it solves. Version Control System (VCS) was born from very real pain: lost work, team code overwriting each other, and the inability to answer simple questions like "who changed this line and why?". This episode guides you through the journey from chaos to the system we use today.
Imagine this pattern — one that is very familiar at the start of every developer's career:
ls ~/projects
project_v1.zip
project_v1_fixed.zip
project_v2.zip
project_final.zip
project_final_beneran.zip
project_final_beneran2_FINAL.zipSee the problem: ambiguous filenames, no record of changes, and no one knows what is inside project_final_beneran2_FINAL.zip or when it was created. Undocumented versions mean unreliable versions. After a few months, archives like this are just digital junk.
Without a VCS, two developers editing the same file will overwrite each other's work. The only way to avoid it is fragile manual coordination ("you edit first, I will continue later"). There is no trace of who changed what, bugs slip in without anyone knowing when, and this manual approach always fails once the team grows.
The first generation of VCS — Subversion (SVN), Perforce — centralized the entire history on a single server. Developers check out to their local machine, work, then commit back to the server.
Its strengths: a single source of truth and centralized access control. But its weaknesses are fatal:
Git and Mercurial flipped this paradigm: every developer has a full copy of the repository — the entire history, every branch, all the data — on their local machine.
git clone https://github.com/akun/proyek.gitNote: git clone is not "downloading the latest files", but copying the entire repository database. The consequences are significant — consider the advantages below.
This is a philosophical shift: from "the server is the source of truth" to "every developer has a source of truth, and they synchronize with each other".
In 2005, the Linux kernel developers faced a problem: they used BitKeeper, a proprietary DVCS that revoked its free license. Linus Torvalds refused to go back to a centralized VCS that would hinder collaboration among thousands of contributors. So, within a matter of weeks, he built Git.
The criteria he set from the start:
git log --oneline
a1b2c3d feat: tambah modul autentikasi
e4f5g6h fix: perbaiki null pointer di login
a7b8c9d Initial commitHere you can see Git's power: every change is recorded neatly, with a unique hash and a message explaining its purpose. We will go deeper into the details in episode 4.
These four philosophies are not just slogans — you will encounter all of them directly in the upcoming episodes.
Nearly all Git operations run locally without network communication. git log, git diff, and git branch feel instant even on huge repositories.
Git does not store "changes" like most other VCSs, but rather snapshots of the state of all files at each commit. This simple data model is exactly what makes operations like merge and diff reliable.
Branches in Git are extremely cheap — just a lightweight pointer. Workflows like "develop a feature on a separate branch, then merge it" become daily practice, not a dreaded exception.
Every Git object is hashed with SHA-1 (and now beginning to move to SHA-256). Changing a single bit in any file changes its hash and is immediately detected by Git.
Note
This integrity is why Git is trusted as a history store. Git's gradual transition to SHA-256 is proof that its design was meant to last for the long term.
Here is the core of episode 1:
In episode 2 we dissect the most fascinating part: Git's internal architecture — the three areas (working directory, staging area, repository), the snapshot model, and objects like blob, tree, and commit. There you will see why Git's design is so elegant. See you there!