Git & GitHub

Apa Itu Git dan GitHub? Perbedaan dan Fungsinya untuk Pemula

Pelajari apa itu Git dan GitHub, perbedaan keduanya, fungsi version control, repository, commit, branch, remote, dan workflow dasar untuk project coding.

Ketika mulai membuat project coding, kita tidak hanya perlu menulis kode. Kita juga perlu mengelola perubahan kode dengan rapi.

Di sinilah Git dan GitHub sering digunakan.

Keduanya berhubungan, tetapi bukan hal yang sama.

Apa Itu Git?

Git adalah sistem version control terdistribusi yang digunakan untuk mencatat perubahan file dari waktu ke waktu.

Dengan Git, kita dapat melihat riwayat perubahan, membuat branch, membandingkan versi, dan bekerja bersama tanpa hanya mengandalkan salinan folder manual.

Apa Itu Version Control?

Version control adalah sistem untuk melacak perubahan pada file project.

Tanpa version control, pemula sering memiliki folder seperti:

project-final/
project-final-baru/
project-final-fix/
project-final-fix-bener/
project-final-terakhir/

Git mengganti pola tersebut dengan riwayat perubahan yang lebih terstruktur.

Apa Itu GitHub?

GitHub adalah platform yang menyediakan hosting repository Git dan fitur kolaborasi di internet.

Repository Git dapat berada hanya di komputer lokal, tetapi GitHub memungkinkan repository disimpan pada layanan remote dan dibagikan kepada orang lain sesuai pengaturan akses.

Perbedaan Git dan GitHub

Git
= sistem version control

GitHub
= layanan untuk menyimpan dan berkolaborasi
  dengan repository Git secara online

Kita bisa menggunakan Git tanpa GitHub. Kita juga menggunakan Git ketika ingin mengirim perubahan repository lokal ke GitHub melalui workflow umum.

Apa Itu Repository?

Repository atau repo adalah project yang dilacak oleh Git.

Untuk membuat repository Git pada sebuah folder:

git init

Perintah tersebut membuat metadata Git untuk project.

Apa Itu Commit?

Commit adalah snapshot perubahan yang disimpan dalam riwayat Git.

Workflow sederhana:

Ubah file
↓
git add
↓
git commit
↓
Riwayat tersimpan

Apa Itu Staging Area?

Sebelum commit, Git memiliki staging area untuk memilih perubahan mana yang akan dimasukkan.

git add index.html

atau:

git add .

Gunakan git status sebelum commit agar tahu perubahan apa yang masuk.

Contoh Commit

git commit -m "Tambah halaman kontak"

Pesan commit sebaiknya menjelaskan perubahan secara singkat dan jelas.

Apa Itu Branch?

Branch memungkinkan kita membuat jalur pengembangan terpisah.

Contohnya:

main
feature-search
fix-navbar

Branch berguna ketika mengerjakan fitur baru tanpa langsung mengubah branch utama.

Apa Itu Remote?

Remote adalah referensi ke repository di lokasi lain, misalnya GitHub.

Contoh:

git remote add origin URL_REPOSITORY

Setelah remote tersedia, perubahan dapat dikirim ke remote menggunakan git push.

Apa Itu Push?

git push mengirim commit lokal ke repository remote.

git push -u origin main

Apa Itu Pull?

git pull mengambil perubahan dari remote lalu mengintegrasikannya ke branch lokal sesuai konfigurasi.

git pull

Sebelum pull, pahami kondisi branch lokal agar konflik tidak mengejutkan.

Apa Itu Clone?

git clone digunakan untuk membuat salinan working repository dari remote.

git clone URL_REPOSITORY

Git Tidak Sama dengan Backup Penuh

Git sangat baik untuk version control source code, tetapi bukan pengganti semua jenis backup.

Database production, file upload pengguna, kredensial, dan data server perlu strategi backup masing-masing.

Apa Itu .gitignore?

.gitignore digunakan untuk menentukan file yang tidak ingin dilacak Git.

Contoh:

.env
vendor/
node_modules/
*.log

Isi file bergantung pada project. Jangan pernah mengandalkan .gitignore untuk menghapus rahasia yang sudah telanjur masuk riwayat Git.

Jangan Commit Password

Data seperti berikut tidak boleh dimasukkan ke repository publik:

  • Password database.
  • API key.
  • Bot token.
  • Private key.
  • Credential production.

Gunakan environment variable atau sistem konfigurasi yang sesuai aplikasi.

Workflow Git Dasar

git status
git add .
git commit -m "Pesan perubahan"
git push

Ini hanya workflow dasar. Jangan menjalankan perintah otomatis tanpa melihat apa yang berubah.

Contoh Riwayat Project

Commit 1: Buat struktur HTML
Commit 2: Tambah CSS homepage
Commit 3: Tambah JavaScript menu
Commit 4: Perbaiki tampilan mobile

Dengan commit yang teratur, kita dapat memahami evolusi project.

Kenapa Git Berguna untuk Pemula?

  • Membiasakan workflow developer.
  • Mempermudah kembali melihat perubahan.
  • Membantu eksperimen dengan branch.
  • Mendukung kolaborasi.
  • Memudahkan deployment tertentu.

Kesalahan Umum Pemula

  • Commit file sensitif.
  • Menjalankan git add . tanpa memeriksa status.
  • Membuat commit terlalu besar dan tidak fokus.
  • Menganggap GitHub adalah Git.
  • Menghapus folder .git tanpa memahami akibatnya.

Kesimpulan

Git adalah sistem version control, sedangkan GitHub adalah platform yang dapat digunakan untuk menyimpan dan berkolaborasi dengan repository Git secara online.

Konsep inti yang perlu dipahami pemula adalah repository, staging, commit, branch, remote, push, pull, dan clone.

Materi berikutnya adalah cara install Git di Windows.

Topik: #Coding Pemula #Developer Tools #Git #GitHub #Repository #Version Control

Artikel berikutnya

Cara Membuat Login PHP MySQL yang Aman untuk Pemula