Git adalah sistem version control terdistribusi yang mencatat setiap perubahan proyek secara terstruktur sehingga kita dapat bekerja leluasa tanpa takut kehilangan pekerjaan. Course ini menuntun Anda dari konsep dasar version control, instalasi, dan siklus commit harian, melalui branch, remote, rebase, dan pemulihan riwayat, sampai kolaborasi tim dan internals Git — ditutup tujuh proyek terpandu yang menerapkan seluruh materi pada repository nyata.

Seluruh contoh perintah pada Course ini diuji menggunakan Git 2.47. Perintah-perintah yang dibahas bersifat mendasar dan stabil, sehingga tetap berlaku pada versi Git lain termasuk seri terbaru.

Bab 2 Instalasi dan Konfigurasi

# Persyaratan Environment

Periksa prasyarat sistem operasi, terminal, dan hak akses sebelum memasang Git.

Buka →
# Instalasi Git di Linux

Pasang Git di Ubuntu, Debian, Fedora, dan Arch Linux melalui manajer paket masing-masing.

Buka →
# Instalasi Git di Windows

Pasang Git for Windows termasuk Git Bash dan pilihan penting pada wizard instalasinya.

Buka →
# Instalasi Git di macOS

Pasang Git melalui Xcode Command Line Tools atau Homebrew di macOS.

Buka →
# Instalasi Git di WSL

Siapkan Git di Windows Subsystem for Linux beserta pembagian berkas antara Windows dan WSL.

Buka →
# Memverifikasi Instalasi

Pastikan Git terpasang benar melalui git --version dan git help.

Buka →
# Konfigurasi Identitas

Isi user.name dan user.email agar setiap commit tercatat atas nama Anda dengan benar.

Buka →
# git config

Kuasai perintah git config beserta tiga level penyimpanannya: system, global, dan local.

Buka →
# Konfigurasi Editor

Atur core.editor agar Git membuka editor pilihan kita saat menulis pesan commit.

Buka →
# Konfigurasi Default Branch

Atur init.defaultBranch agar repository baru langsung memakai nama branch kesukaan kita.

Buka →
# Konfigurasi Line Endings

Atasi perbedaan akhir baris Windows dan Unix dengan core.autocrlf dan .gitattributes.

Buka →
# Konfigurasi Alias

Buat pintasan perintah dengan git config alias agar alur kerja lebih cepat.

Buka →
# Konfigurasi Proxy

Sambungkan Git melalui proxy jaringan dengan http.proxy untuk lingkungan terbatas.

Buka →
# Memahami File Konfigurasi

Bedah isi .gitconfig, prioritas antar level, dan cara membaca nilainya kembali.

Buka →

Bab 3 Dasar Repository

Bab 4 Melacak Perubahan

# Memahami Working Tree

Pahami posisi working tree di antara staging area dan HEAD serta tiga pembandingan git diff yang menghubungkan ketiganya.

Buka →
# Status File

Kenali empat status berkas Git: untracked, unmodified, modified, dan staged.

Buka →
# Untracked dan Tracked Files

Bedakan berkas yang diawasi dan belum diawasi Git beserta konsekuensinya.

Buka →
# Modified, Staged, dan Committed

Telusuri perjalanan satu berkas dari modified hingga committed.

Buka →
# Staging File Tertentu

Pilih berkas tertentu untuk di staging agar commit tetap fokus satu maksud.

Buka →
# Staging Sebagian Perubahan

Gunakan git add -p untuk memilih potongan perubahan (hunk) secara interaktif.

Buka →
# Membatalkan Staging

Keluarkan perubahan dari staging area dengan git restore --staged.

Buka →
# Membuang Perubahan Lokal

Buang suntingan working tree secara permanen dengan git restore dan bedakan perintah ini dari pembatalan staging.

Buka →
# Memulihkan File

Ambil kembali versi berkas dari commit mana pun dalam riwayat dengan git restore --source.

Buka →
# Melihat Perbedaan Perubahan

Bedah keluaran git diff baris demi baris: kepala diff, hunk header, dan tanda tambah minusnya.

Buka →
# Diff Antar Commit

Bandingkan dua titik riwayat dengan git diff antar commit, branch, dan tag.

Buka →
# Diff Staged dan Unstaged

Bandingkan staged, unstaged, dan HEAD untuk tahu persis apa yang akan dicatat.

Buka →
# Whitespace dan Opsi Diff

Saring whitespace dan sesuaikan konteks diff dengan opsi -w, -b, dan -U.

Buka →
# Memeriksa Perubahan Sebelum Commit

Bangun kebiasaan memeriksa diff dan status sebelum setiap commit.

Buka →

Bab 6 Branch dan Merging

# Konsep Branch

Pahami branch sebagai penunjuk bergerak ke sebuah commit, bukan salinan berkas.

Buka →
# Membuat Branch

Ciptakan branch baru dengan git branch dan git switch -c.

Buka →
# Melihat Branch

Tampilkan daftar branch beserta branch aktif dan commit terakhirnya.

Buka →
# Berpindah Branch

Pindah antar branch dengan aman termasuk menangani perubahan yang belum dicatat.

Buka →
# git switch

Gunakan git switch, perintah modern khusus berpindah dan membuat branch.

Buka →
# git checkout

Kenali git checkout warisan lintas fungsi dan kapan tetap memakainya.

Buka →
# Branch dan Commit

Lihat bagaimana commit baru menggerakkan penunjuk branch dan membelah riwayat.

Buka →
# Fast-Forward Merge

Pahami merge paling sederhana: majukan penunjuk branch tanpa commit penggabung.

Buka →
# Three-Way Merge

Gabungkan dua riwayat yang telah menyimpang dengan commit merge tiga arah.

Buka →
# git merge

Jalankan penggabungan branch dengan git merge beserta opsi --no-ff dan --ff-only.

Buka →
# Merge Conflicts

Pahami asal konflik, penanda konflik pada berkas, dan status repository saat konflik.

Buka →
# Menyelesaikan Merge Conflicts

Selesaikan konflik langkah demi langkah: sunting, git add, dan commit penyelesaian.

Buka →
# Merge Tools

Gunakan merge tool eksternal seperti VS Code untuk menyelesaikan konflik.

Buka →
# Membatalkan Merge

Batalkan penggabungan yang salah dengan git merge --abort dan git reset.

Buka →
# Menghapus Branch

Hapus branch yang selesai dengan opsi -d dan -D beserta risikonya.

Buka →
# Rename Branch

Ganti nama branch lokal maupun remote dengan benar.

Buka →
# Strategi Branching

Kenali pola penamaan branch dan kapan memakai branch per fitur, per rilis, atau per orang.

Buka →

Bab 8 Rebasing dan Riwayat Lanjutan

# Konsep Rebase

Pahami rebase sebagai memindahkan rangkaian commit ke dasar baru, bukan menggandakan branch.

Buka →
# git rebase

Jalankan rebase biasa untuk menyusun ulang branch di atas dasar terbaru.

Buka →
# Rebase vs Merge

Bandingkan rebase dan merge: riwayat linier vs riwayat asli beserta risikonya.

Buka →
# Interactive Rebase

Buka editor daftar commit dengan git rebase -i dan ubah naskah riwayatnya.

Buka →
# Mengubah Urutan Commit

Susun ulang baris commit pada interactive rebase untuk mengatur kronologi.

Buka →
# Menggabungkan Commit

Satukan beberapa commit dengan squash dan fixup agar riwayat ringkas.

Buka →
# Mengedit Commit Lama

Ubah pesan dan isi commit lama dengan reword dan edit pada interactive rebase.

Buka →
# Rebase Conflicts

Selesaikan konflik yang muncul di tengah rebase dan lanjutkan tahapannya.

Buka →
# Abort dan Continue Rebase

Kendalikan rebase yang terputus dengan --continue, --skip, dan --abort.

Buka →
# Cherry-Pick

Ambil commit pilihan dari branch mana pun tanpa menggabungkan seluruh branch.

Buka →
# Revert

Batalkan perubahan ter-commit dengan commit pembalik tanpa menghapus riwayat.

Buka →
# Reset

Geser penunjuk branch ke commit mana pun dengan mode soft, mixed, dan hard.

Buka →
# Reset Soft, Mixed, dan Hard

Bedakan tiga mode reset: soft menjaga staging, mixed melepasnya, hard membuang pekerjaan.

Buka →
# Revert vs Reset

Pilih antara revert dan reset sesuai riwayat yang sudah dibagikan.

Buka →
# Aturan Aman Mengubah Riwayat

Terapkan aturan emas: jangan menulis ulang riwayat yang telah dibagikan ke orang lain.

Buka →