KelasIT.com
DevOps

Belajar Git dan GitHub

Panduan Git dan GitHub untuk pemula hingga alur kerja tim: konsep dasar, perintah harian, branching, menggabungkan perubahan, menyelesaikan konflik, membatalkan kesalahan, pull request, dan aturan commit yang baik.

Belajar Git dan GitHub

Pernahkah kamu punya file bernama proyek_final.zip, proyek_final_revisi.zip, proyek_final_revisi_BENAR.zip? Git menyelesaikan kekacauan itu: ia merekam setiap perubahan kode sehingga kamu bisa melihat riwayat, kembali ke versi lama, dan bekerja bersama orang lain tanpa saling menimpa. GitHub adalah layanan yang menyimpan repositori Git di cloud dan menambahkan fitur kolaborasi.

Git vs GitHub

GitGitHub
Apa ituSistem version control yang berjalan di komputermuLayanan hosting repositori Git di internet
Butuh internet?TidakYa
FungsiMerekam riwayat, branchingBackup, kolaborasi, pull request, issue, CI
Alternatif-GitLab, Bitbucket

Konsep inti

  • Repository (repo): folder proyek beserta seluruh riwayatnya.
  • Commit: "foto" kondisi proyek pada satu titik, disertai pesan penjelasan.
  • Branch: jalur pengembangan terpisah. Cabang utama biasanya main.
  • Remote: salinan repo di server (biasanya bernama origin).
  • Working directory → staging area → repository: tiga tempat perubahan berpindah.

Alur kerja dasar: ubah file → git add (siapkan ke staging) → git commit (rekam).

Konfigurasi awal (sekali saja)

git config --global user.name "Nama Kamu"
git config --global user.email "email@contoh.com"
git config --global init.defaultBranch main

Perintah harian

git init                       # mulai repo baru di folder ini
git status                     # lihat file yang berubah
git add index.html             # masukkan satu file ke staging
git add .                      # masukkan semua perubahan
git commit -m "Tambah halaman beranda"
git log --oneline              # lihat riwayat ringkas
git diff                       # lihat perubahan yang belum di-stage

Selalu jalankan git status sebelum commit untuk memastikan hanya perubahan yang kamu maksud yang ikut.

.gitignore: apa yang tidak boleh masuk repo

Buat file .gitignore untuk mengecualikan:

node_modules/
vendor/
.env
*.log
.DS_Store
storage/*.key
Jangan pernah commit file .env, kunci API, password, atau kunci privat. Jika terlanjur ter-push, anggap rahasia itu bocor dan ganti segera; menghapus commit saja tidak cukup karena riwayatnya masih tersimpan.

Menghubungkan ke GitHub

  1. Buat repositori kosong di GitHub.
  2. Hubungkan dan unggah:
git remote add origin https://github.com/username/proyek.git
git branch -M main
git push -u origin main

Untuk mengunduh proyek orang lain: git clone https://github.com/username/proyek.git.

Autentikasi memakai SSH key atau Personal Access Token (GitHub tidak lagi menerima password akun untuk operasi Git).

Sinkronisasi harian:

git pull        # ambil dan gabungkan perubahan dari remote
git push        # kirim commit lokalmu

Branching: bekerja tanpa merusak versi utama

Buat cabang untuk setiap fitur atau perbaikan:

git switch -c fitur/login          # buat dan pindah ke cabang baru
# ... ubah kode, commit ...
git switch main                    # kembali ke main
git merge fitur/login              # gabungkan fitur ke main
git branch -d fitur/login          # hapus cabang yang sudah selesai

Manfaatnya: main selalu stabil, dan beberapa orang bisa mengerjakan fitur berbeda secara paralel.

Menyelesaikan konflik merge

Konflik terjadi saat dua cabang mengubah baris yang sama. Git menandai file seperti ini:

<<<<<<< HEAD
<h1>Selamat Datang</h1>
=======
<h1>Halo, Pengunjung</h1>
>>>>>>> fitur/judul

Langkah penyelesaian:

  1. Buka file, pilih (atau gabungkan) isi yang benar, lalu hapus tanda <<<<<<<, =======, >>>>>>>.
  2. git add namafile
  3. git commit untuk menyelesaikan merge.

Editor seperti VS Code menyediakan tombol "Accept Current/Incoming Change". Konflik bukan tanda kamu salah; itu hal biasa dalam kerja tim. Cara menguranginya: commit kecil dan sering, serta git pull rutin sebelum mulai bekerja.

Membatalkan kesalahan

SituasiPerintah
Batalkan perubahan di file (belum di-commit)git restore namafile
Keluarkan file dari staginggit restore --staged namafile
Ubah pesan commit terakhir (belum di-push)git commit --amend
Batalkan commit terakhir tetapi simpan perubahannyagit reset --soft HEAD~1
Buat commit baru yang membatalkan commit tertentu (aman untuk riwayat publik)git revert <id-commit>
Simpan sementara pekerjaan yang belum selesaigit stash lalu git stash pop
Hati-hati dengan git reset --hard dan git push --force: keduanya bisa menghapus pekerjaan secara permanen. Jangan memakai --force pada cabang bersama.

Jika terasa "hilang", git reflog sering bisa menyelamatkan commit yang tampak terhapus.

Alur kerja tim: GitHub Flow

  1. main selalu siap rilis.
  2. Buat cabang dari main untuk setiap pekerjaan, beri nama deskriptif (fitur/keranjang, perbaikan/validasi-email).
  3. Commit secara berkala, push ke GitHub.
  4. Buka Pull Request (PR): tulis ringkasan perubahan, kenapa, dan cara mengujinya.
  5. Rekan tim melakukan code review dan memberi komentar.
  6. Setelah disetujui dan pengujian otomatis lulus, merge ke main.
  7. Hapus cabang.

Aktifkan branch protection di GitHub agar main tidak bisa di-push langsung dan wajib melalui PR.

Menulis pesan commit yang baik

Pesan commit adalah dokumentasi untuk masa depan.

  • Baris pertama singkat (≤ 50 karakter), diawali kata kerja: "Tambah validasi email pada form daftar".
  • Jelaskan mengapa, bukan hanya apa, di badan pesan bila perlu.
  • Satu commit = satu perubahan logis.
  • Hindari pesan seperti "update", "fix", "asdf".

Banyak tim memakai format Conventional Commits: feat: tambah filter kategori, fix: perbaiki hitung total keranjang.

Praktik baik

  • Commit sering, dalam potongan kecil.
  • git pull sebelum mulai bekerja dan sebelum push.
  • Jangan mengerjakan fitur langsung di main.
  • Tulis README yang menjelaskan proyek dan cara menjalankannya.
  • Gunakan Issues untuk mencatat tugas dan bug.
  • Manfaatkan GitHub Actions untuk menjalankan test otomatis pada setiap PR.

Mulai dari mana?

Latihan 15 menit: buat folder, git init, buat file, commit, buat cabang, ubah file, merge, lalu push ke GitHub. Ulangi sampai alurnya terasa otomatis. Setelah itu, ikuti sebuah proyek open-source kecil dan buat PR pertamamu.

Kesimpulan

Git adalah keterampilan wajib bagi setiap developer: ia melindungi pekerjaanmu, membuat kerja tim terorganisir, dan menjadi bukti proses belajarmu di GitHub. Kuasai alur add → commit → branch → merge → push → pull request, dan kamu sudah siap bekerja dalam tim profesional.

R
Rizky

Menulis tentang pemrograman, database, AI, dan karier di dunia IT supaya belajar terasa lebih mudah dan menyenangkan.

Komentar (0)

Komentar hanya untuk member. Masuk atau daftar gratis untuk ikut berdiskusi.

Mau belajar lebih dalam?

Course online dengan latihan coding interaktif dan sertifikat.

Lihat Course →

Gabung komunitas

Tanya jawab, info event, dan teman belajar di grup WhatsApp.

Gabung Grup