Part 10 - Git Fetch dan Fundamental Branching

1. Apa Itu git fetch?

git fetch digunakan untuk mengambil perubahan terbaru dari remote repository, tetapi tanpa langsung menggabungkannya ke branch lokal. Ini cocok digunakan jika kamu ingin mengecek perubahan terlebih dahulu sebelum merge.

Mengambil semua update dari remote:

git fetch

Setelah fetch, data remote tersimpan di branch origin/... tanpa mengganggu branch lokal.

Melihat perbedaan setelah fetch:

git diff main origin/main

2. Menggabungkan Hasil Fetch

Setelah fetch, kamu bisa melakukan merge manual untuk menggabungkan perubahan:

git merge origin/main

3. Apa Itu Branch dalam Git?

Branch adalah percabangan kode. Tujuannya agar developer bisa mengerjakan fitur baru tanpa mengganggu branch utama seperti main.

Beberapa jenis branch umum:

  • main — branch produksi.
  • development — branch pengembangan.
  • feature-* — fitur baru.
  • hotfix-* — perbaikan darurat.

4. Melihat Semua Branch

git branch

Tanda * menandakan branch yang sedang aktif.

5. Membuat Branch Baru

git branch fitur-login

6. Berpindah ke Branch Lain

Menggunakan checkout:

git checkout fitur-login

Menggunakan perintah baru (lebih direkomendasikan):

git switch fitur-login

7. Membuat Branch Baru + Langsung Pindah

git switch -c fitur-dashboard

8. Menghapus Branch

Setelah fitur selesai dan sudah di-merge:

git branch -d fitur-login

9. Ringkasan

  • git fetch — mengambil update remote tanpa merge.
  • git diff main origin/main — melihat perbedaan lokal vs remote.
  • git merge origin/main — menggabungkan update remote secara manual.
  • git branch — melihat daftar branch.
  • git switch — berpindah branch (lebih modern dari checkout).
  • git switch -c — membuat branch baru dan langsung berpindah.
  • git branch -d — menghapus branch yang sudah selesai.

Di Part 11 kita akan fokus pada pembuatan branch dan perpindahan branch secara lebih mendalam.


Yan Afriyoko

I am Yan Afriyoko, A Software Engineer with more than 8+ years of experience. I have completed over 250 projects, focusing on developing robust and efficient web applications. In addition, I am an expert in creating Software-as-a-Service (SaaS) development, API integration, and e-commerce projects.