Git: Menghapus Branch Lokal
Terakhir diperbarui
Setelah pekerjaan di sebuah branch di-merge, kamu menghapusnya dengan git branch -d <branch>. Git menolak kalau branch itu punya commit yang belum di-merge ke mana pun, sebagai pengaman. Untuk tetap menghapusnya, pakai -D huruf besar. Menghapus branch lokal tidak pernah menyentuh salinannya di remote; itu perintah yang terpisah.
Coba perintah-perintah ini di playground terminal: shell sungguhan di browsermu, tanpa perlu instalasi.
Sintaks
| Perintah | Fungsinya |
|---|---|
git branch -d feature | Menghapus feature (hanya kalau sudah di-merge) |
git branch -D feature | Memaksa hapus feature meski belum di-merge |
git branch -d branch1 branch2 | Menghapus beberapa branch sekaligus |
Kasus umum
| Tujuan | Perintah |
|---|---|
| Hapus branch yang sudah di-merge | git branch -d old-feature |
| Paksa hapus branch yang belum di-merge | git branch -D scratch |
| Hapus branch yang sedang aktif | git switch main lalu git branch -d feature |
| Lihat branch mana yang sudah di-merge | git branch --merged |
Contoh langkah demi langkah
Selesaikan sebuah fitur, merge, lalu bersihkan branch lokalnya.
| Langkah | Perintah | Hasil |
|---|---|---|
| 1 | git switch main | Pindah dari branch yang ingin dihapus |
| 2 | git merge feature | Membawa commit dari fitur itu ke main |
| 3 | git branch -d feature | Menghapus branch yang sekarang sudah di-merge |
Pertanyaan seputar menghapus branch lokal
Apa bedanya git branch -d dan -D?
-d adalah hapus yang aman: Git hanya menghapus branch kalau commit-nya sudah di-merge ke branch lain, jadi pekerjaanmu tidak hilang tanpa sengaja. -D adalah hapus paksa (singkatan dari --delete --force): branch dihapus apa pun keadaannya, bahkan kalau ada commit yang belum di-merge. Pakai -d secara default, dan pakai -D hanya kalau kamu yakin ingin membuang commit di branch itu.Bagaimana cara menghapus branch yang sedang aktif?
git switch main (atau git checkout main), lalu jalankan git branch -d feature. Kalau kamu mencoba menghapus branch saat ini, Git menampilkan error "Cannot delete branch ... checked out".Apakah menghapus branch lokal juga menghapusnya di GitHub?
git branch -d hanya menghapus branch dari repositori lokalmu. Branch di remote (GitHub, GitLab, dan lainnya) tetap ada sampai kamu menghapusnya secara terpisah dengan git push origin --delete feature.Bisakah branch yang terhapus dikembalikan?
git reflog untuk menemukan commit yang ditunjuk branch itu, lalu buat ulang dengan git branch feature <commit-hash>. Commit-nya tidak langsung dibersihkan oleh garbage collection, jadi branch yang terhapus tanpa sengaja biasanya masih bisa dipulihkan.Bisakah saya berlatih ini secara online?
Bisa. Buka playground terminal untuk menjalankan perintah-perintah ini di shell sungguhan di browsermu, tanpa perlu instalasi. Kalau kamu ingin belajar terarah, kursus Git interaktif gratis dari Coddy membawamu dari commit pertama sampai branch dan merge, langkah demi langkah.