Apa itu Git? — Git

Pernah ngerjain skripsi tiba-tiba kepencet hapus 5 halaman? Atau lagi coding, ngubah banyak file, terus app malah rusak — udah lupa tadi ngubah apa aja? Tanpa…

Git adalah version control system (VCS): program yang mencatat riwayat versi isi folder proyekmu. Tiap kali kamu menyimpan versi, Git memotret semua file di folder itu dan memberinya catatan. Mirip save game: kamu bisa terus main, dan kalau ada yang salah, tinggal buka save yang lama.

🧪 Tebakan cepat: laptopmu hilang, tapi kemarin temanmu sempat menyalin repository proyekmu. Riwayat versinya ikut hilang, atau masih ada? Tebak dulu, jawabannya ada di bagian "Git itu distributed".

Tanpa Git vs pakai Git

Tanpa alat pengatur versi, folder proyek biasanya jadi begini:

project/
├── README.md
├── README-final.md
├── README-final-fix.md
└── README-final-fix-BENERAN.md

Mana yang terbaru? Apa bedanya final dan final-fix? Gak ada yang tahu, termasuk kamu sendiri seminggu lagi.

Pakai Git, foldernya tetap berisi satu README.md. Versi-versi lamanya disimpan Git di riwayat, masing-masing dengan catatan:

$ git log --oneline
a3b892a (HEAD -> main) tambah analogi save game
66629cd tambah catatan hari pertama
4641629 tulis judul

Tiap baris adalah satu versi: kode pendek di depan (hash, nama unik versi itu) lalu catatannya. Yang paling atas yang terbaru. Versi mana pun bisa dibuka lagi kapan saja, misalnya isi README.md di versi pertama:

$ git show 4641629:README.md
# Project Pertamaku

Repository dan commit

Dua kata ini bakal kamu dengar terus:

Alur sehari-harinya tiga langkah: ubah file, pilih file yang mau disimpan dengan git add, lalu simpan versinya dengan git commit. Detailnya ada di pelajaran Git Add & Commit. Nanti kamu juga kenalan dengan branch, jalur kerja terpisah untuk mencoba ide tanpa mengganggu versi utama.

Git itu distributed

Ada dua jenis VCS:

Centralized (misalnya SVN) Distributed (Git)
Riwayat lengkap disimpan di satu server pusat setiap salinan repository
Commit tanpa internet gak bisa bisa
Server pusat rusak riwayat ikut hilang salinan lain masih lengkap

Git itu distributed: tiap orang yang menyalin repository (namanya clone) dapat riwayat yang lengkap, bukan cuma file terbarunya. Jadi kalau laptopmu hilang, riwayat sampai kemarin masih utuh di salinan temanmu. Itu jawaban tebakannya.

Git dibuat oleh Linus Torvalds, pembuat Linux, tahun 2005. Dia butuh alat untuk kernel Linux yang dikerjakan ribuan orang di seluruh dunia, dan alatnya harus cepat dan gak bergantung pada satu server. Sekarang Git dipakai hampir di semua tim software.

Cek Git di komputermu

Git adalah program yang di-install di komputer. Cek versinya di terminal:

$ git --version
git version 2.50.1

git --version menampilkan versi Git yang terinstall di komputermu, bukan versi terbaru di internet. Angkanya boleh beda. Kalau keluar command not found, berarti Git belum terinstall.

Di pelajaran ini kamu gak perlu install apa-apa: latihannya pakai Git Simulator yang jalan di browser. Langkah pertamanya selalu sama, mengubah folder jadi repository:

$ git init
Initialized empty Git repository in /project/.git/
$ git status
On branch main

No commits yet

Untracked files:
  (use "git add <file>..." to include in what will be committed)
	README.md

nothing added to commit but untracked files present (use "git add" to track)

⚠️ Jebakan yang sering ketemu

TL;DR: Git adalah version control system: dia mencatat riwayat versi folder proyekmu. Repository adalah folder yang dijaga Git (ada .git di dalamnya, dibuat dengan git init), dan commit adalah satu versi tersimpan: snapshot semua file plus pesan. Git itu distributed, jadi tiap salinan punya riwayat lengkap dan bisa commit tanpa internet. Git dibuat Linus Torvalds tahun 2005. git --version menampilkan versi Git yang terinstall di komputermu.

Yang akan kamu pelajari