linuxlab.io
Tutorials▾
  • Linux & networking
    File system, processes, TCP/IP, BGP and OSPF
    →
  • Terraform & IaC
    HCL, state, plan/apply on a LocalStack sandbox
    →
  • Git & GitHub
    Object model, plumbing, branching, GitHub Actions
    →
All tutorials →
PricingAboutSign inCreate account
/
Intro
Lessons
Footer
linuxlab-TutorialsPricingAboutPrivacy & cookies
Copyright © 2026 LinuxLab. All rights reserved.
linuxlab.io
Tutorials▾
  • Linux & networking
    File system, processes, TCP/IP, BGP and OSPF
    →
  • Terraform & IaC
    HCL, state, plan/apply on a LocalStack sandbox
    →
  • Git & GitHub
    Object model, plumbing, branching, GitHub Actions
    →
All tutorials →
PricingAboutSign inCreate account
/
  • Introduction
  • Chapters
  • How it works
  • Lessons
  • Knowledge base
  • Interview prep
home/git/kb/Git basics

kb/basics

Git basics: VCS, repository, working tree

Git basics and version control: what version control is, how a distributed VCS differs from a centralized one, what a repository holds, and how Git works with snapshots instead of deltas. This is the foundation. Without it the other sections will not make sense.

  • distributed-vcsDistributed version control system

    A VCS where every developer holds a full copy of the history, not just a snapshot. Git, Mercurial, Bazaar. The key difference from centralized systems (SVN, CVS): no single point of failure, and no network required for most operations.

  • snapshot-vs-deltaSnapshots vs. deltas

    The core conceptual difference between Git and SVN/CVS/Perforce. Older VCS store each version as a diff from the previous one. Git stores each version as a complete snapshot of the project, with deduplication of identical files via SHA.

  • vcsVersion control system

    A tool that stores the history of file changes, lets you return to past versions, and lets multiple people collaborate on the same project. Three generations: local, centralized, distributed.

  • working-treeWorking tree

    The files and directories of your project on disk: the ones you open in your editor. One of Git's three zones, alongside the index ([[add]]) and the repository ([[commit]]).

Footer
linuxlab-
Copyright © 2026 LinuxLab. All rights reserved.
Tutorials
Pricing
About
Privacy & cookies