Belajar Git dan GitHub Lengkap: Dari Dasar hingga Kolaborasi

Belajar Git dan GitHub adalah keterampilan fundamental yang wajib dimiliki setiap programmer, baik pemula maupun yang sudah berpengalaman. Git membantu Anda mencatat setiap perubahan kode, kembali ke versi lama saat terjadi kesalahan, dan bekerja bersama banyak orang tanpa saling menimpa pekerjaan. Sementara itu, GitHub menjadi tempat menyimpan, membagikan, dan mengelola proyek secara online. Panduan lengkap ini membahas semuanya secara bertahap: mulai dari konsep dasar, instalasi, perintah penting, branching, penyelesaian konflik, pull request, hingga otomatisasi dengan GitHub Actions.

Daftar Isi

  1. Apa Itu Git dan GitHub?
  2. Cara Kerja Git: Tiga Area Utama
  3. Instalasi dan Konfigurasi Awal
  4. Membuat Repository dan Perintah Dasar
  5. Mengenal File .gitignore
  6. Menghubungkan Proyek ke GitHub
  7. Branching: Bekerja Tanpa Merusak Kode Utama
  8. Merge vs Rebase
  9. Cara Mengatasi Merge Conflict
  10. Membatalkan Perubahan dengan Aman
  11. Pull Request dan Kolaborasi di GitHub
  12. Strategi Branching untuk Tim
  13. Menulis Commit Message yang Baik
  14. Tag dan Release
  15. Pengenalan GitHub Actions
  16. Cheat Sheet Perintah Git
  17. Kesalahan Umum Pemula
  18. Pertanyaan yang Sering Diajukan (FAQ)
  19. Kesimpulan

Apa Itu Git dan GitHub?

Git adalah sistem kontrol versi terdistribusi (distributed version control system) yang dibuat oleh Linus Torvalds pada tahun 2005. Git berjalan di komputer Anda dan mencatat setiap perubahan pada file proyek, sehingga seluruh riwayat pengembangan tersimpan rapi dan bisa ditelusuri kapan saja.

GitHub adalah platform berbasis web yang menyimpan repository Git di cloud, lengkap dengan fitur kolaborasi seperti pull request, issue tracker, dan otomatisasi. Banyak orang mengira Git dan GitHub adalah hal yang sama, padahal keduanya berbeda:

AspekGitGitHub
JenisPerangkat lunak (alat baris perintah)Layanan hosting repository online
Lokasi kerjaKomputer lokal AndaServer cloud
Fungsi utamaMencatat dan mengelola versi kodeMenyimpan, berbagi, dan berkolaborasi
Perlu internet?TidakYa
AlternatifMercurial, SVNGitLab, Bitbucket

Cara Kerja Git: Tiga Area Utama

Sebelum menghafal perintah, pahami dulu bahwa Git bekerja dengan tiga area. Konsep ini menjadi kunci agar Anda tidak bingung saat belajar Git dan GitHub:

  1. Working Directory: folder proyek tempat Anda mengedit file secara langsung.
  2. Staging Area (Index): area transit tempat Anda memilih perubahan mana yang akan disimpan pada commit berikutnya.
  3. Repository (.git): tempat Git menyimpan seluruh riwayat commit secara permanen.

Alurnya: Anda mengedit file, menyiapkannya dengan git add, lalu menyimpannya dengan git commit. Setelah itu, riwayat dikirim ke GitHub dengan git push.

Instalasi dan Konfigurasi Awal

Unduh Git dari situs resmi git-scm.com dan instal sesuai sistem operasi Anda. Setelah selesai, verifikasi dengan perintah berikut:

git --version

Selanjutnya, lakukan konfigurasi awal. Cukup dilakukan sekali untuk seluruh komputer Anda:

git config --global user.name "Nama Anda"
git config --global user.email "email@contoh.com"
git config --global init.defaultBranch main
git config --global core.editor "code --wait"

Perintah terakhir mengatur Visual Studio Code sebagai editor bawaan Git. Anda bisa melewatinya jika memakai editor lain. Untuk memeriksa seluruh konfigurasi, jalankan git config --list.

Membuat Repository dan Perintah Dasar

Masuk ke folder proyek Anda melalui terminal, lalu inisialisasi repository:

mkdir proyek-pertama
cd proyek-pertama
git init

Berikut perintah dasar yang akan Anda gunakan hampir setiap hari:

  • git status: menampilkan kondisi terkini repository.
  • git add nama-file: memasukkan satu file ke staging area.
  • git add .: memasukkan semua perubahan ke staging area.
  • git commit -m "pesan": menyimpan perubahan sebagai satu commit.
  • git log --oneline: menampilkan riwayat commit secara ringkas.
  • git diff: menampilkan perubahan yang belum di-stage.

Contoh alur kerja lengkap pada proyek baru:

echo "# Proyek Pertama" > README.md
git status
git add README.md
git commit -m "Menambahkan README awal"
git log --oneline

Mengenal File .gitignore

Tidak semua file layak masuk repository. Folder seperti node_modules, file konfigurasi rahasia, dan hasil kompilasi sebaiknya diabaikan. Buat file bernama .gitignore di root proyek:

node_modules/
.env
*.log
dist/
.DS_Store

Pastikan file .env yang berisi password atau API key tidak pernah ikut ter-commit. Jika sudah telanjur masuk riwayat, mengubah kuncinya (rotate key) adalah langkah paling aman, karena menghapus file saja tidak menghapus jejaknya dari riwayat.

Menghubungkan Proyek ke GitHub

Buat akun di GitHub, lalu buat repository baru lewat tombol New. Ada dua cara menghubungkannya: HTTPS dan SSH.

Opsi 1: HTTPS

git remote add origin https://github.com/username/proyek-pertama.git
git push -u origin main

GitHub tidak lagi menerima password akun untuk operasi Git. Gunakan Personal Access Token atau Git Credential Manager sebagai gantinya.

Opsi 2: SSH (Direkomendasikan)

SSH lebih praktis karena Anda tidak perlu memasukkan kredensial setiap kali melakukan push. Buat kunci SSH terlebih dahulu:

ssh-keygen -t ed25519 -C "email@contoh.com"
cat ~/.ssh/id_ed25519.pub

Salin hasil perintah kedua, lalu tambahkan di GitHub → Settings → SSH and GPG keys. Uji koneksi dan hubungkan repository:

ssh -T git@github.com
git remote add origin git@github.com:username/proyek-pertama.git
git push -u origin main

Setelah itu, perintah git push dan git pull cukup dijalankan tanpa tambahan argumen.

Branching: Bekerja Tanpa Merusak Kode Utama

Branch adalah cabang pengembangan yang terpisah dari kode utama. Fitur ini membuat Git sangat kuat, karena Anda bebas bereksperimen tanpa risiko merusak versi yang sudah stabil.

git branch                  # melihat daftar branch
git switch -c fitur-login   # membuat dan pindah ke branch baru
git switch main             # kembali ke branch main
git branch -d fitur-login   # menghapus branch yang sudah digabung

Biasakan satu branch untuk satu tujuan, misalnya fitur-login, perbaikan-navbar, atau update-dokumentasi. Nama yang deskriptif memudahkan seluruh anggota tim memahami isi branch tanpa harus membukanya.

Merge vs Rebase

Setelah fitur selesai, Anda perlu menggabungkan branch ke kode utama. Git menyediakan dua pendekatan utama:

AspekMergeRebase
Cara kerjaMembuat merge commit yang menyatukan dua riwayatMemindahkan commit branch ke ujung branch tujuan
Bentuk riwayatBercabang, apa adanyaLurus dan bersih
KeamananTidak mengubah commit yang adaMenulis ulang commit, berisiko jika sudah dibagikan
Cocok untukMenggabungkan fitur ke mainMerapikan branch lokal sebelum digabung

Contoh penggunaan merge:

git switch main
git merge fitur-login

Contoh penggunaan rebase untuk memperbarui branch fitur dengan perubahan terbaru dari main:

git switch fitur-login
git rebase main

Aturan emas: jangan pernah melakukan rebase pada branch yang sudah di-push dan dipakai orang lain, karena akan mengacaukan riwayat rekan tim Anda.

Cara Mengatasi Merge Conflict

Konflik terjadi ketika dua branch mengubah baris yang sama pada file yang sama, sehingga Git tidak bisa memutuskan versi mana yang dipakai. Jangan panik, ini hal yang wajar. Saat konflik muncul, Git menandai file seperti berikut:

<<<<<<< HEAD
const judul = "Selamat Datang";
=======
const judul = "Halo, Selamat Datang";
>>>>>>> fitur-login

Langkah penyelesaiannya:

  1. Buka file yang berkonflik dan tentukan versi akhir yang benar.
  2. Hapus seluruh penanda <<<<<<<, =======, dan >>>>>>>.
  3. Simpan file, lalu jalankan git add nama-file.
  4. Selesaikan dengan git commit (untuk merge) atau git rebase --continue (untuk rebase).

Jika ingin membatalkan proses penggabungan, gunakan git merge --abort. Editor seperti Visual Studio Code juga menyediakan tampilan visual yang memudahkan pemilihan versi.

Membatalkan Perubahan dengan Aman

Salah satu alasan terbesar orang belajar Git dan GitHub adalah kemampuan membatalkan kesalahan. Pilih perintah sesuai situasinya:

SituasiPerintah
Membuang perubahan file yang belum di-stagegit restore nama-file
Mengeluarkan file dari staging areagit restore --staged nama-file
Memperbaiki pesan atau isi commit terakhirgit commit --amend
Membatalkan commit terakhir, perubahan tetap adagit reset --soft HEAD~1
Membatalkan commit yang sudah di-push (aman)git revert <hash-commit>
Menyimpan pekerjaan sementaragit stash lalu git stash pop

Perhatikan perbedaan reset dan revert. Perintah reset menulis ulang riwayat, sehingga cocok untuk commit lokal. Sebaliknya, revert membuat commit baru yang membatalkan commit lama, sehingga aman untuk riwayat yang sudah dibagikan. Hindari git reset --hard kecuali Anda yakin, karena perintah ini menghapus perubahan secara permanen.

Pull Request dan Kolaborasi di GitHub

Pull request (PR) adalah permintaan untuk menggabungkan perubahan dari satu branch ke branch lain, disertai ruang diskusi dan peninjauan kode (code review). Berikut alur kerja yang umum dipakai tim:

  1. Buat branch baru dari main untuk fitur yang akan dikerjakan.
  2. Lakukan commit secara berkala, lalu push branch: git push -u origin fitur-login.
  3. Buka GitHub, lalu klik Compare & pull request.
  4. Tulis judul dan deskripsi yang menjelaskan apa yang berubah dan alasannya.
  5. Minta rekan tim meninjau kode, lalu perbaiki jika ada masukan.
  6. Setelah disetujui, gabungkan dengan Merge pull request.

Untuk berkontribusi ke proyek open source milik orang lain, gunakan alur fork: salin repository ke akun Anda lewat tombol Fork, kerjakan perubahan di salinan tersebut, lalu ajukan pull request ke repository asli. Ini cara terbaik membangun portofolio sekaligus belajar dari kode orang lain.

Strategi Branching untuk Tim

Ketika tim membesar, diperlukan aturan main yang jelas. Dua strategi yang paling populer adalah sebagai berikut:

AspekGitHub FlowGit Flow
Branch utamaHanya mainmain dan develop
Branch pendukungBranch fitur singkatfeature, release, hotfix
KompleksitasSederhanaLebih kompleks
Cocok untukWeb app, rilis berkelanjutanProduk dengan jadwal rilis terstruktur

Bagi pemula dan tim kecil, GitHub Flow hampir selalu menjadi pilihan terbaik karena mudah dipahami dan minim aturan.

Menulis Commit Message yang Baik

Commit message yang jelas sangat membantu saat Anda atau rekan tim menelusuri riwayat proyek berbulan-bulan kemudian. Banyak tim memakai format Conventional Commits:

feat: menambahkan halaman login
fix: memperbaiki validasi email pada form daftar
docs: memperbarui panduan instalasi di README
refactor: merapikan fungsi perhitungan total
chore: memperbarui dependensi

Beberapa kebiasaan baik lainnya: tulis dalam kalimat perintah yang singkat, batasi baris pertama sekitar 50 karakter, dan satu commit sebaiknya hanya memuat satu perubahan logis.

Tag dan Release

Tag berfungsi menandai titik penting dalam riwayat, biasanya untuk versi rilis. Gunakan penomoran semantik seperti v1.0.0:

git tag -a v1.0.0 -m "Rilis stabil pertama"
git push origin v1.0.0

Di GitHub, tag tersebut dapat dijadikan Release lengkap dengan catatan perubahan dan file unduhan.

Pengenalan GitHub Actions

GitHub Actions adalah fitur otomatisasi yang menjalankan tugas tertentu setiap kali ada kejadian di repository, misalnya menjalankan pengujian otomatis setiap kali ada push atau pull request. Konsep ini dikenal sebagai Continuous Integration (CI).

Buat file .github/workflows/ci.yml di proyek Anda. Contoh berikut untuk proyek Node.js:

name: CIon:
push:
branches: [ main ]
pull_request:
branches: [ main ]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
- run: npm ci
- run: npm test

Setiap kali Anda push atau membuka pull request, GitHub akan menjalankan langkah-langkah tersebut secara otomatis dan menampilkan hasilnya sebagai tanda centang hijau atau silang merah. Dokumentasi lengkapnya tersedia di docs.github.com.

Cheat Sheet Perintah Git

KategoriPerintahFungsi
Memulaigit initMembuat repository baru
Memulaigit clone <url>Menyalin repository dari GitHub
Hariangit add .Menyiapkan semua perubahan
Hariangit commit -m "pesan"Menyimpan perubahan
Sinkronisasigit pullMengambil dan menggabungkan perubahan dari GitHub
Sinkronisasigit pushMengirim commit ke GitHub
Branchgit switch -c namaMembuat dan pindah branch
Branchgit merge namaMenggabungkan branch
Riwayatgit log --onelineMelihat riwayat ringkas
Daruratgit stashMenyimpan pekerjaan sementara

Kesalahan Umum Pemula

  • Commit terlalu besar: menggabungkan banyak perubahan dalam satu commit membuat riwayat sulit dibaca dan sulit dibatalkan.
  • Bekerja langsung di main: selalu buat branch terpisah untuk setiap fitur atau perbaikan.
  • Lupa melakukan pull: jalankan git pull sebelum mulai bekerja agar tidak tertinggal dari perubahan rekan tim.
  • Memakai force push sembarangan: git push --force dapat menimpa pekerjaan orang lain. Jika terpaksa, pilih --force-with-lease.
  • Mengunggah data sensitif: password, token, dan API key tidak boleh masuk repository.
  • Pesan commit tidak informatif: hindari pesan seperti “update”, “fix”, atau “asdf”.

Pertanyaan yang Sering Diajukan (FAQ)

Apakah belajar Git dan GitHub sulit untuk pemula?

Tidak, selama dipelajari bertahap. Kuasai dulu alur dasar (add, commit, push), lalu lanjutkan ke branch dan pull request. Dalam satu atau dua minggu latihan rutin, alur dasarnya biasanya sudah terasa natural.

Apakah GitHub gratis?

Ya, GitHub menyediakan paket gratis yang mencakup repository publik dan privat tanpa batas, cukup untuk kebutuhan pelajar dan developer individu.

Perlu belajar Git dulu atau GitHub dulu?

Pelajari Git terlebih dahulu, karena GitHub hanyalah layanan yang dibangun di atas Git. Setelah paham konsep commit dan branch, memakai GitHub akan jauh lebih mudah.

Apakah Git hanya untuk kode program?

Tidak. Git dapat melacak jenis file teks apa pun, seperti dokumentasi, naskah, atau file konfigurasi. Namun, Git paling optimal untuk file berbasis teks.

Bagaimana cara memanfaatkan GitHub untuk portofolio?

Unggah proyek terbaik Anda, tulis README yang rapi berisi deskripsi, teknologi yang dipakai, dan cara menjalankan proyek, lalu sematkan (pin) repository terbaik di profil Anda. Rekruter sering memeriksa profil GitHub saat menilai kandidat.

Kesimpulan

Belajar Git dan GitHub adalah investasi jangka panjang yang manfaatnya terasa di setiap proyek. Anda telah mempelajari konsep tiga area Git, perintah dasar, branching, merge dan rebase, penyelesaian konflik, cara membatalkan perubahan, pull request, strategi tim, hingga otomatisasi dengan GitHub Actions.

Kunci utamanya adalah konsistensi: gunakan Git di setiap proyek, sekecil apa pun, dan jangan ragu bereksperimen karena hampir setiap kesalahan di Git masih bisa diperbaiki.

Punya pertanyaan atau pengalaman seru saat memakai Git? Tulis di kolom komentar, dan pantau terus NgodingDaily untuk tutorial coding berikutnya!

One Reply to “Belajar Git dan GitHub Lengkap: Dari Dasar hingga Kolaborasi”

Leave a Reply

Your email address will not be published. Required fields are marked *