Git adalah sistem kontrol versi (version control system) yang digunakan untuk melacak perubahan pada file dan kode sumber selama pengembangan perangkat lunak. Git memungkinkan banyak developer untuk bekerja pada proyek yang sama secara bersamaan tanpa saling menimpa pekerjaan satu sama lain.
GitHub adalah platform hosting untuk repository Git yang berbasis cloud. GitHub menyediakan interface web yang memudahkan kolaborasi, code review, dan manajemen proyek.
# Menggunakan Homebrew
brew install git
# Atau download dari git-scm.com
sudo apt update
sudo apt install git
git --version
Jika muncul versi Git, berarti instalasi berhasil.
Setelah menginstal Git, lakukan konfigurasi identitas Anda:
# Set nama Anda
git config --global user.name "Nama Anda"
# Set email Anda
git config --global user.email "email@example.com"
# Verifikasi konfigurasi
git config --list
Catatan: Email yang digunakan sebaiknya sama dengan email yang terdaftar di GitHub.
# Membuat folder baru untuk proyek
mkdir my-project
cd my-project
# Inisialisasi Git repository
git init
# Melihat status file (modified, staged, untracked)
git status
# Menambahkan file tertentu
git add nama-file.txt
# Menambahkan semua file
git add .
# Menambahkan file dengan ekstensi tertentu
git add *.js
# Commit dengan pesan
git commit -m "Pesan commit yang deskriptif"
# Commit semua perubahan (skip staging)
git commit -am "Pesan commit"
# Melihat log commit
git log
# Log dengan format ringkas
git log --oneline
# Log dengan grafik branch
git log --graph --oneline --all
# Melihat perubahan yang belum di-stage
git diff
# Melihat perubahan yang sudah di-stage
git diff --staged
README.md: File dokumentasi.gitignore: File untuk mengabaikan file tertentuLicense: Lisensi proyekJika Anda sudah memiliki repository lokal dan ingin menghubungkannya dengan GitHub:
# Tambahkan remote repository
git remote add origin https://github.com/username/nama-repo.git
# Verifikasi remote
git remote -v
# Push ke GitHub
git push -u origin main
Catatan: Ganti username dan nama-repo dengan username GitHub Anda dan nama repository yang telah dibuat.
Jika repository sudah ada di GitHub dan Anda ingin clone ke lokal:
# Clone repository
git clone https://github.com/username/nama-repo.git
# Masuk ke folder repository
cd nama-repo
# 1. Cek status
git status
# 2. Tambahkan file yang diubah
git add .
# 3. Commit perubahan
git commit -m "Deskripsi perubahan"
# 4. Push ke GitHub
git push origin main
# Fetch: Melihat perubahan tanpa merge
git fetch origin
# Pull: Mengambil dan merge perubahan
git pull origin main
Jika terjadi konflik saat merge atau pull:
# 1. Git akan menandai file yang konflik
# 2. Buka file tersebut dan edit manual
# 3. Setelah selesai, tambahkan file
git add nama-file-konflik.txt
# 4. Lanjutkan merge
git commit -m "Resolved merge conflict"
# 5. Push perubahan
git push origin main
Branch adalah cabang terpisah dari kode utama yang memungkinkan Anda mengembangkan fitur baru tanpa mengganggu kode di branch utama.
# Melihat daftar branch
git branch
# Membuat branch baru
git branch nama-branch
# Berpindah ke branch lain
git checkout nama-branch
# Membuat dan langsung pindah ke branch baru
git checkout -b nama-branch
# Menghapus branch
git branch -d nama-branch
# 1. Pindah ke branch tujuan (biasanya main)
git checkout main
# 2. Merge branch fitur
git merge nama-branch
# 3. Push hasil merge ke GitHub
git push origin main
# 1. Buat branch untuk fitur baru
git checkout -b fitur-login
# 2. Kerjakan fitur
# ... edit file ...
# 3. Commit perubahan di branch fitur
git add .
git commit -m "Menambahkan fitur login"
# 4. Push branch ke GitHub
git push origin fitur-login
# 5. Buat Pull Request di GitHub
# 6. Setelah di-review, merge ke main
git checkout main
git merge fitur-login
# 7. Push main branch
git push origin main
# 8. Hapus branch fitur (opsional)
git branch -d fitur-login
# ❌ Bad
git commit -m "update"
git commit -m "fix bug"
# ✅ Good
git commit -m "Add user authentication feature"
git commit -m "Fix navbar responsive issue on mobile"
git commit -m "Update README with installation instructions"
Buat file .gitignore untuk mengabaikan file yang tidak perlu di-track:
# Node modules
node_modules/
# Environment variables
.env
# Build files
dist/
build/
# OS files
.DS_Store
Thumbs.db
# IDE settings
.vscode/
.idea/
Selalu lakukan git pull sebelum git push untuk menghindari konflik:
git pull origin main
git push origin main
main atau master: Branch utama yang stabildevelop: Branch untuk pengembanganfeature/nama-fitur: Branch untuk fitur barubugfix/nama-bug: Branch untuk perbaikan bugDi GitHub, aktifkan branch protection rules untuk branch main:
# Membatalkan perubahan yang belum di-commit
git restore nama-file.txt
# Unstage file
git restore --staged nama-file.txt
# Kembali ke commit sebelumnya
git reset --hard HEAD~1
# Membuat tag untuk rilis
git tag v1.0.0
git push origin v1.0.0
# Melihat remote repository
git remote -v
# Mengubah URL remote
git remote set-url origin https://github.com/username/repo-baru.git
# Stash: Menyimpan perubahan sementara
git stash
git stash pop
git stash list
Git dan GitHub adalah tools yang sangat penting dalam pengembangan software modern. Dengan menguasai perintah-perintah dasar dan workflow yang tepat, Anda dapat:
Teruslah berlatih dan jangan takut untuk bereksperimen. Semua developer pasti pernah mengalami kesalahan dengan Git, yang penting adalah belajar dari kesalahan tersebut!
Happy Coding! 🚀