Lewati ke konten utama

Git Daftar Branch: Panduan Praktis

Pelajari cara menampilkan daftar branch Git lokal dan remote serta memfilternya menggunakan git branch. Kuasai pemecahan masalah dengan git fetch, git checkout, dan git prune.
· 9 mnt Baca

Jelajahi bersama AI

Jika Anda pernah mengerjakan lebih dari satu fitur sekaligus, situasi ini mungkin terdengar familiar: Anda menjalankan perintah Git, dan kini Anda tidak lagi yakin di mana hasil kerja Anda dari minggu lalu sebenarnya berada.

Masalah ini semakin sering terjadi seiring pertumbuhan proyek. Di awal, sebuah repositori mungkin hanya memiliki branch main. Seiring waktu, tim membuat branch untuk fitur baru, perbaikan bug, eksperimen, rilis, dan hotfix darurat. 

Di sinilah daftar branch di Git menjadi penting. Ini membantu menjawab pertanyaan-pertanyaan praktis:

  • Saat ini saya sedang bekerja di branch yang mana?
  • Branch lain apa saja yang ada di mesin saya?
  • Branch mana saja yang ada di repositori remote?

Dalam panduan ini, kita akan melihat dasar-dasar menampilkan daftar branch di Git, cara melakukannya, dan cara mengatasi masalah umum.

Jika Git benar-benar baru bagi Anda, saya sarankan mengambil kursus Introduction to Git kami untuk membantu membangun kepercayaan diri sebelum menyelami topik manajemen branch yang lebih mendetail.

Memahami Branch di Git

Sebelum kita mulai menampilkannya, mari kita uraikan apa itu branch Git. 

Salah kaprah yang umum adalah mengira branch Git adalah folder terpisah atau salinan penuh dari codebase, padahal sebenarnya branch Git hanyalah penunjuk ringan ke commit tertentu.

Anda bisa menganggapnya sebagai garis waktu paralel tempat Anda dapat membangun fitur atau bereksperimen secara terpisah tanpa memengaruhi kode utama yang stabil. Arsitektur ini membuat pembuatan dan penggabungan branch menjadi sangat cepat dan efisien.

git branch

Sumber: Git

Git melacak posisi Anda saat ini dalam garis waktu tersebut menggunakan referensi khusus bernama HEAD, yang selalu menunjuk ke branch yang sedang Anda kerjakan. Karena branch hanyalah penunjuk, berpindah konteks berlangsung seketika dan tidak memerlukan pemindahan berkas besar.

Untuk detail lebih lanjut, lihat tutorial kami tentang branch Git atau lihat lembar contekan Git.

Cara Menampilkan Daftar Branch Lokal di Git

Dengan fondasi konseptual tersebut, mari kita lihat cara menampilkan daftar branch lokal di repositori Anda.

Branch lokal adalah branch yang ada di komputer Anda. Ia berada di dalam folder .git repositori Anda dan merepresentasikan penunjuk yang dapat dipindahkan ke serangkaian commit. Anda dapat beralih ke branch lokal, melakukan perubahan, dan membuat commit baru di atasnya.

Akan membantu jika Anda memikirkan branch lokal seperti ini:

  • Miliki salinan repositori Anda
  • Bergerak maju saat Anda melakukan commit perubahan baru
  • Tidak diperbarui secara otomatis ketika orang lain mendorong (push) kode

Menggunakan git branch

Perintah paling umum dan mendasar untuk menampilkan daftar branch lokal cukup sederhana:

git branch

Saat Anda menjalankan perintah ini tanpa opsi tambahan, Git akan menampilkan semua branch lokal.

Hal-hal penting yang perlu diingat tentang git branch:

  • Hanya menampilkan branch lokal, bukan yang remote
  • Tidak menghubungi internet
  • Tidak mengubah berkas, commit, atau riwayat branch

Karena aman dan cepat, banyak pengembang menjalankan git branch sebagai kebiasaan sebelum memulai pekerjaan baru atau berpindah konteks.

Memahami keluaran

Berikut contoh apa yang mungkin ditampilkan oleh git branch:

 bugfix/login-timeout
  feature/payment-refactor
* main

Meskipun keluarannya terlihat sederhana, ada beberapa detail penting yang tersembunyi di dalamnya.

Pertama, tanda bintang (*) menunjukkan branch yang saat ini di-checkout. Ini adalah branch yang saat ini terikat dengan direktori kerja Anda. Commit baru apa pun yang Anda buat akan masuk ke branch ini.

Kedua, Git biasanya menyorot branch saat ini dengan warna hijau. Ini hanya bantuan visual dari terminal dan tidak mengubah perilaku Git.

Ketiga, perhatikan apa yang tidak ditampilkan:

  • Tidak ada tanggal commit
  • Tidak ada nama penulis
  • Tidak ada informasi remote

Ini disengaja. Git menjaga keluaran default tetap singkat, sehingga mudah dipindai dan dikombinasikan dengan perintah lain.

Tips pemula: Jika terminal Anda terlihat "macet" setelah menjalankan perintah Git, coba tekan q. Git sering menggunakan pager untuk menampilkan keluaran panjang, dan ini adalah cara normal untuk keluar.

Hanya menampilkan branch saat ini

Terkadang, menampilkan semua branch tidak diperlukan. Anda mungkin hanya ingin mengetahui branch mana yang sedang aktif. Git menyediakan perintah khusus untuk ini:

git branch --show-current

Keluaran hanya berupa nama branch:

main

Situasi umum di mana ini berguna antara lain:

  • Memeriksa branch Anda sebelum melakukan push kode
  • Mencatat nama branch di skrip
  • Menggunakan nama branch dalam otomasi atau pipeline CI

Jika Git berada dalam status HEAD terlepas (detached), perintah ini tidak mengembalikan apa pun. Meski awalnya terasa aneh, ini sebenarnya membantu saat menulis skrip yang perlu mendeteksi apakah ada branch yang di-checkout.

Kesalahan umum: Beberapa pengguna mengira Git "rusak" saat tidak ada nama branch yang muncul. Dalam banyak kasus, ini hanya berarti Anda saat ini tidak berada di sebuah branch, melainkan pada commit tertentu.

Cara Menampilkan Daftar Branch Remote dan Semua Branch di Git

Menampilkan branch remote atau bahkan semua branch di Git sangat mirip dengan menampilkan branch lokal.

Menampilkan branch remote di Git

Repositori remote, seperti di GitHub atau GitLab, memiliki branch sendiri. Untuk melihatnya, tambahkan flag -r:

git branch -r
  origin/HEAD -> origin/main
  origin/bugfix/login-timeout
  origin/feature/payment-refactor
  origin/main

Keluaran contoh ini bisa membingungkan pada awalnya, jadi mari kita uraikan.

Yang Anda lihat di sini adalah branch pelacakan-remote (remote-tracking). Ini adalah referensi lokal yang digunakan Git untuk mengingat kondisi terakhir repositori remote.

Poin kunci untuk dipahami:

  • Branch ini disimpan secara lokal
  • Hanya diperbarui saat Anda melakukan fetch
  • Tidak bergerak secara otomatis

Tips pemula: Anggap branch pelacakan-remote sebagai buku catatan Git. Git menuliskan seperti apa remote terakhir kali Anda memeriksanya, tetapi tidak akan memperbarui buku catatan itu kecuali Anda secara eksplisit melakukan fetch.

Menampilkan semua branch di Git

Untuk melihat branch lokal dan branch pelacakan-remote secara bersamaan, gunakan flag -a:

git branch -a
* main
  feature/payment-refactor
  remotes/origin/bugfix/login-timeout
  remotes/origin/main

Tampilan gabungan ini membantu Anda memahami bagaimana branch lokal berelasi dengan branch remote.

Pola penamaan yang perlu diperhatikan:

  • Branch lokal muncul sebagai nama sederhana seperti main

  • Branch pelacakan-remote muncul di bawah remotes/origin/

Tampilan ini sangat berguna saat memutuskan apakah akan membuat branch lokal baru yang melacak branch remote yang ada. Jika Anda perlu mengklon repositori dan bekerja pada branch tertentu, lihat panduan kami tentang cara mengklon branch tertentu di Git.

Selalu lakukan fetch terlebih dahulu

Jika rekan tim mendorong branch baru dan Anda tidak dapat melihatnya, alasan paling umum adalah cache lokal Anda sudah kedaluwarsa. 

Solusinya adalah melakukan fetch:

git fetch

Apa yang dilakukan git fetch:

  • Mengunduh informasi branch terbaru dari remote
  • Memperbarui branch pelacakan-remote Anda
  • Tidak mengubah berkas kerja Anda

Perintah ini aman dijalankan kapan saja. Ini tidak melakukan merge kode atau menimpa pekerjaan Anda. Banyak tim memperlakukan git fetch sebagai langkah rutin sebelum memeriksa branch.

Kesalahan umum: Pemula sering bingung antara git fetch dan git pull. Fetch hanya memperbarui informasi branch, sementara pull juga menggabungkan perubahan ke branch Anda saat ini.

Cara Mendapatkan Detail Lebih Lanjut pada Daftar Branch Git

Terkadang, nama branch saja tidak cukup. Jika Anda ingin melihat detail tambahan, ada beberapa flag yang membantu.

Melihat commit terakhir

Untuk melihat apa yang sebenarnya ada pada setiap branch, gunakan:

git branch -v

Keluarnya mungkin terlihat seperti ini:

* main   a1b2c3d Fix typo in README
  feature/payment-refactor e4f5g6h Refactor payment service

Seperti yang Anda lihat, flag -v menambahkan konteks penting:

  • Hash commit pendek menunjukkan ke mana branch saat ini menunjuk
  • Pesan commit memberi petunjuk tujuan branch

Ini adalah salah satu cara termudah untuk memahami kegunaan sebuah branch tanpa melakukan checkout.

Tips pemula: Jika Anda tidak yakin apakah sebuah branch aman untuk dihapus, memeriksa pesan commit terakhirnya adalah petunjuk awal yang baik. Untuk panduan lengkap menghapus branch, lihat tutorial kami tentang cara menghapus branch Git.

Memeriksa koneksi upstream

Branch lokal sering melacak branch remote yang sesuai. Untuk melihat hubungan ini, jalankan:

git branch -vv
* main   a1b2c3d [origin/main] Fix typo in README
  feature/payment-refactor e4f5g6h [origin/feature/payment-refactor] Refactor payment service

Keluaran ini memberi tahu Anda:

  • Branch remote mana yang ditautkan ke branch lokal Anda

  • Dari mana git pull akan menarik

  • Ke mana git push akan mendorong

Jika sebuah branch tidak memiliki upstream, tidak akan ada apa pun di dalam tanda kurung. Ini sering menjelaskan kesalahan push atau pull.

Kesalahan umum: Mencoba menjalankan git pull pada branch tanpa upstream biasanya akan gagal. Dalam kasus tersebut, Anda perlu menetapkan upstream terlebih dahulu atau mendorong branch tersebut untuk pertama kali.

Menyortir branch berdasarkan tanggal atau versi

Untuk menemukan branch yang baru aktif, Anda bisa menyortir berdasarkan tanggal commit:

git branch --sort=-committerdate

Ini menempatkan branch yang paling baru diperbarui di bagian atas dan yang lebih lama di bagian bawah.

Untuk repositori dengan branch bernomor versi, penyortiran semantik lebih berguna:

git branch --sort=v:refname

Ini menghormati nomor versi dan menghindari urutan alfabet yang membingungkan.

Cara Memfilter Daftar Branch di Git

Jika Anda mencari branch tertentu, pemfilteran bisa sangat membantu. Saya akan menunjukkan cara melakukannya menggunakan beberapa flag penting.

Mencari berdasarkan pola nama

Terutama di repositori besar, memfilter berdasarkan nama dapat menghemat banyak waktu untuk menemukan branch yang tepat. Anda dapat memfilter berdasarkan nama menggunakan flag --list bersama istilah pencarian Anda:

git branch --list 'feature/*'

Perhatikan bagaimana * digunakan sebagai wildcard: Hasil di sini hanya menampilkan branch yang cocok dengan pola, jadi yang dimulai dengan feature. Tim sering menggunakan prefiks seperti feature/, bugfix/, atau hotfix/ untuk menjaga kerapian. Anggap saja sebagai folder untuk branch Anda.

Menemukan branch yang sudah digabung vs. belum digabung

Dua filter yang sangat penting adalah:

git branch --merged
git branch --no-merged

Perintah ini membandingkan branch lain dengan branch Anda saat ini.

  • --merged menampilkan branch yang perubahannya sudah termasuk (pelajari lebih lanjut tentang Git merge)

  • --no-merged menampilkan branch yang masih memiliki commit unik

Pengingat keamanan: Selalu periksa ulang bahwa Anda berada di branch dasar yang benar (seringnya main atau develop) sebelum menggunakan --merged. Hasilnya bergantung pada branch Anda saat ini.

Menemukan branch yang memuat sebuah commit

Jika Anda mengetahui hash commit dan ingin mencari di mana commit itu berada, gunakan perintah ini:

git branch --contains <commit-hash>

Ini berguna saat melacak bug atau memverifikasi bahwa sebuah perbaikan telah digabungkan.

Misalnya, ketika rekan kerja memberi tahu Anda: "Saya menemukan bug di hash commit ini; branch mana saja yang terpengaruh?" Anda dapat menggunakan perintah ini untuk menentukan lokasi pasti bug tersebut.

Menggabungkan filter untuk alur kerja lanjutan

Filter yang saya tunjukkan dapat digabungkan untuk mempersempit hasil lebih lanjut. Mari lihat satu contoh:

git branch --list 'feature/*' --no-merged

Hasil perintah ini dengan cepat menampilkan semua branch feature/ yang belum digabung dan membantu tim tetap terorganisasi.

Pemecahan Masalah Umum

Jika Anda mengalami masalah, jangan khawatir; masalah paling umum cukup mudah diperbaiki.

Branch remote hilang

Jika Anda tidak dapat melihat branch yang didorong orang lain, alasan paling mungkin adalah Anda lupa melakukan fetch. Untuk menanganinya:

  1. Jalankan git fetch

  2. Kemudian tampilkan daftar branch lagi

Jika fetch yang terlewat adalah masalahnya, perbaikan cepat ini langsung memperbarui tampilan lokal Anda.

Status HEAD terlepas

Terkadang, keluaran git branch terlihat seperti ini:

* (HEAD detached at a1b2c3d)

Ini berarti Anda tidak berada di sebuah branch. Anda sedang melihat commit tertentu secara langsung.

Berada dalam status HEAD terlepas tidak berbahaya dengan sendirinya, tetapi commit baru apa pun yang Anda buat bisa sulit ditemukan nanti kecuali Anda membuat branch.

Untuk kembali bekerja normal, beralihlah ke branch yang sudah ada:

git checkout <branch-name>

Alternatif modern: Sejak Git 2.23+, Anda dapat menggunakan git switch <branch-name> yang lebih bersih dan aman serta dirancang khusus untuk berpindah branch.

Anda juga dapat membuat branch baru dari posisi Anda saat ini menggunakan flag -b:

git checkout -b <new-branch-name>

Branch masih muncul setelah dihapus

Jika branch remote masih muncul setelah dihapus di server, Anda dapat membersihkan referensi lokalnya dengan perintah berikut:

git remote prune origin

Ini membersihkan referensi usang dan menjaga repositori Anda tetap rapi.

Pro tip: Sebagai alternatif, Anda juga dapat menggunakan git fetch --prune setiap kali melakukan fetch, sehingga repo diperbarui dan dibersihkan dalam satu langkah.

Kesimpulan

Menampilkan daftar branch di Git adalah keterampilan kunci yang membantu Anda memahami repositori. Perintah dan flag yang dibahas dalam tutorial ini akan membantu Anda menghindari kesalahan dan bekerja dengan percaya diri bersama orang lain. 

Saat memulai proyek baru, biasanya layak untuk memikirkan struktur branch seperti apa yang Anda perlukan. Untuk beberapa saran, lihat panduan ini tentang strategi branching Git.

Siap melangkah melampaui dasar-dasar? Jalur keterampilan Git Fundamentals menawarkan konsep dan pengalaman praktik yang dibutuhkan untuk beralih dari pemula menjadi mahir.

Git List Branches FAQs

Apa perbedaan antara branch lokal dan branch remote?

Branch lokal ada di mesin Anda. Branch remote mencerminkan keadaan branch pada repositori remote.

Bagaimana cara mengetahui branch mana yang sudah digabung?

Jalankan git branch --merged untuk melihat branch yang perubahannya sudah termasuk dalam branch saat ini.

Apakah aman menghapus branch setelah menampilkannya?

Ya, jika sudah digabung. Gunakan git branch -d branch-name. Git akan memblokir penghapusan jika belum aman untuk dihapus. Git menganggap sebuah branch "aman" jika telah digabung ke branch Anda saat ini atau jika sudah didorong ke repositori remote.

Mengapa saya tidak bisa melihat branch yang ada di remote?

Hampir pasti, repo lokal belum melakukan fetch. Jalankan git fetch, lalu gunakan git branch -r untuk melihat branch remote.

Apa yang ditampilkan oleh git branch?

Ini hanya menampilkan branch lokal Anda. Branch saat ini ditandai dengan *. Ini hanya menampilkan branch remote saat Anda menambahkan flag -r.

Bagaimana cara menampilkan daftar branch yang diurutkan berdasarkan aktivitas terbaru?

Gunakan git branch --sort=-committerdate untuk menampilkan branch dengan commit terbaru di bagian atas. Ini membantu saat Anda ingin menemukan branch yang baru saja Anda atau tim Anda kerjakan. Anda juga dapat menggabungkannya dengan flag lain seperti git branch -v --sort=-committerdate untuk melihat pesan commit di samping daftar yang sudah diurutkan.

Austin Chia

Penulis

Austin Chia

Saya Austin, seorang blogger dan penulis teknologi dengan pengalaman bertahun-tahun sebagai data scientist dan analis data di bidang kesehatan. Memulai perjalanan teknologi dengan latar belakang biologi, kini saya membantu orang lain melakukan transisi yang sama melalui blog teknologi saya. Ketertarikan saya pada teknologi mendorong kontribusi tulisan saya untuk puluhan perusahaan SaaS, menginspirasi orang lain dan membagikan pengalaman saya.

Topik

Terkait

blogs

Tutorial Korelasi di R

blogs

Spaghetti Plot dan Jalur Badai

blogs

40 Pertanyaan Wawancara DBMS Teratas di 2026