Banyak pengembang yang menemukan momen saat beberapa perintah Git terasa seolah “curang”. Perintah-perintah ini mampu menyederhanakan masalah rumit dalam hitungan menit. Namun, pemahaman kapan menggunakan atau menghindari perintah tersebut sangat penting agar tidak menimbulkan bencana.
Git menyediakan berbagai perintah yang sangat powerful namun berisiko jika salah pemakaian. Berikut tujuh perintah Git yang sering dianggap seperti trik licik sekaligus panduan kapan tidak sebaiknya digunakan.
1. git add -p: Memilih bagian perubahan yang akan di-commit
Perintah ini memecah file yang diubah menjadi potongan kecil (“hunk”). Pengguna dapat memilih hunk yang ingin ditambahkan ke commit, menyisakan perubahan belum siap atau tidak relevan untuk ditambahkan nanti. Teknik ini membantu menjaga riwayat commit yang bersih dan berbobot.
Namun, jika bekerja dengan file besar yang isinya dihasilkan otomatis atau perubahan yang tidak berbasis baris, git add -p bisa jadi lambat dan mengganggu. Dalam kondisi seperti itu, menambahkan file secara keseluruhan lebih efektif.
2. git commit –amend: Memperbaiki commit terakhir
Sering terjadi lupa menambahkan file atau typo di pesan commit. Git commit –amend memungkinkan mengedit commit terbaru tanpa membuat commit baru. Ini membuat riwayat commit seolah-olah sempurna sejak awal sehingga memudahkan review kode.
Akan tetapi, mengubah commit yang sudah dipush ke repositori bersama harus sangat dihindari. Karena ini akan membuat cabang orang lain jadi bercabang dan menimbulkan kerumitan merge.
3. git reflog: Mengembalikan commit yang hilang
Reflog menyimpan jejak semua tindakan pada cabang Git, sehingga commit yang terhapus karena reset atau rebase masih bisa ditemukan dan dipulihkan. Perintah ini jadi penyelamat saat kehilangan pekerjaan penting secara tak sengaja.
Meski begitu, reflog tidak dapat diandalkan sebagai backup jangka panjang. Data ini akan hilang bila garbage collection atau clone shallow dilakukan.
4. git cherry-pick: Mengambil satu commit dari cabang lain
Cherry-pick sangat berguna bila hanya ingin mengaplikasikan satu perbaikan dari cabang pengembangan tanpa membawa seluruh fitur yang belum selesai. Sangat cocok untuk keadaan darurat saat bug sudah diperbaiki namun fitur lain belum siap.
Namun, menggunakannya berlebihan bisa menyebabkan duplikasi commit dan konflik merge, sebab cherry-pick membuat commit baru dengan hash berbeda.
5. git reset –hard: Membatalkan semua perubahan tanpa ampun
Ketika keadaan kode sudah kacau dan tidak ingin disimpan, git reset –hard membatalkan semua perubahan tak tersimpan dan mengembalikan direktori kerja ke commit tertentu. Ini menghemat waktu membersihkan file percobaan yang tidak berguna.
Perintah ini sangat berbahaya jika ada pekerjaan yang belum di-commit dan masih ingin disimpan. Dalam kasus tersebut, git stash lebih cocok untuk menyimpan perubahan sementara.
6. git clean -fd: Menghapus file dan direktori tak terlacak
Proyek yang dikerjakan sering meninggalkan berbagai file sementara atau hasil build yang tidak dilacak Git. Git clean -fd membersihkan semua file dan folder tak terlacak sekaligus, mengembalikan repositori ke keadaan bersih.
Harus sangat berhati-hati agar tidak menghapus file penting yang sengaja tidak dimasukkan git. Pengguna dapat menjalankan git clean -n dulu untuk melihat daftar file yang akan dihapus sebelum eksekusi.
7. git rerere: Menggunakan ulang hasil penyelesaian konflik
Fitur ini memungkinkan Git merekam cara menyelesaikan konflik tertentu dan menerapkannya otomatis bila konflik yang sama muncul kembali. Sangat menghemat waktu jika sering melakukan rebase pada cabang yang sama.
Namun, jika pola penyelesaian konflik berubah-ubah, rerere bisa menerapkan solusi usang yang malah menimbulkan masalah. Pengguna sebaiknya meninjau hasil merge setelah mengaktifkan rerere.
Perintah-perintah Git ini memberikan kendali penuh dan efisiensi luar biasa. Mereka memang terasa seperti cara “curang” yang mempercepat penyelesaian masalah komplek. Namun risikonya tetap ada apabila kurang memahami konteks dan akibatnya.
Memahami kapan dan bagaimana menggunakan tujuh perintah ini menjadi kunci agar pengembang bisa lebih percaya diri dan produktif. Dengan demikian, Git tidak lagi menjadi momok membingungkan, melainkan alat ampuh yang membantu membentuk sejarah proyek dengan tepat dan rapi.
