Halo Sobat Belajaro! Pernahkah kamu merasa panik saat menulis kode lalu tiba-tiba menyadari kalau perubahan yang baru saja kamu buat justru merusak seluruh program? Atau mungkin kamu ingin kembali ke versi kode dua hari yang lalu karena fitur baru yang kamu buat ternyata tidak dibutuhkan?
Tenang, Sobat Belajaro! Salah satu kekuatan utama Git adalah kemampuannya untuk "kembali ke masa lalu". Di artikel ini, kita akan mengupas tuntas tiga jurus ampuh untuk membatalkan revisi di Git, yaitu git checkout, git reset, dan git revert.
1. Membatalkan Perubahan File dengan Git Checkout
Terkadang kita hanya ingin membatalkan perubahan pada satu atau dua file yang belum di-commit. Misal, kamu sedang mengedit index.html, lalu sadar kalau kodenya berantakan. Kamu bisa mengembalikannya ke kondisi terakhir saat di-commit dengan perintah ini:
git checkout nama_file.html
Mari kita bedah kodenya:
git: Menjalankan aplikasi Git di terminal kamu.checkout: Perintah untuk berpindah branch atau mengembalikan kondisi file.nama_file.html: Nama file spesifik yang ingin kamu batalkan perubahannya.
Jika Sobat Belajaro ingin membatalkan semua perubahan pada file di direktori saat ini, kamu bisa menggunakan tanda titik:
git checkout .
.: Simbol yang merepresentasikan seluruh file yang ada di direktori kerja.
2. Membatalkan Revisi dengan Git Reset
Perintah git reset digunakan ketika kamu ingin membatalkan commit yang sudah dilakukan. Perintah ini akan "memaksa" Git untuk kembali ke ID commit yang dituju. Ada tiga mode utama dalam git reset:
Git Reset Soft
git reset --soft HEAD~1
Penjelasan baris kodenya:
git reset: Perintah dasar untuk membatalkan atau memindahkan posisi HEAD.--soft: Mode ini akan membatalkan commit, tapi tetap mempertahankan perubahan kode kamu di area staging. Jadi, kode tidak hilang.HEAD~1: Artinya kita mundur 1 langkah dari posisi commit terakhir.
Git Reset Mixed
git reset --mixed HEAD~1
Penjelasan baris kodenya:
--mixed: Ini adalah mode default. Perintah ini akan membatalkan commit dan mengeluarkan file dari area staging, tapi kode di file kamu tetap ada (masuk ke unstaged).
Git Reset Hard
git reset --hard HEAD~1
Penjelasan baris kodenya:
--hard: Hati-hati dengan perintah ini, Sobat Belajaro! Mode ini akan menghapus semua perubahan secara permanen dan memaksa file kembali persis seperti pada commit tujuan. Kode yang belum di-commit akan hilang selamanya.
3. Membatalkan Revisi dengan Git Revert
Nah, ini adalah cara yang paling aman jika Sobat Belajaro bekerja dalam tim. Berbeda dengan git reset yang menghapus riwayat, git revert akan membuat commit baru yang isinya adalah kebalikan dari perubahan di commit sebelumnya.
Misalnya kamu ingin membatalkan commit dengan ID abc1234:
git revert abc1234
Mari kita pahami alurnya:
git: Menjalankan perintah Git.revert: Perintah untuk membuat "commit pembatal".abc1234: ID commit yang ingin dibatalkan.
Kenapa git revert lebih aman? Karena perintah ini tidak menghapus sejarah (history). Jadi, teman satu tim kamu tidak akan mengalami error saat melakukan git pull karena riwayat commit tetap berurutan dan konsisten.
Kapan Harus Menggunakan yang Mana?
Sobat Belajaro mungkin bingung memilih perintah yang tepat. Berikut adalah panduan singkatnya:
Gunakan Git Checkout jika hanya ingin membatalkan perubahan pada file yang belum di-commit.
Gunakan Git Reset jika kamu bekerja sendirian di branch lokal dan ingin membersihkan riwayat commit.
Gunakan Git Revert jika kamu sudah melakukan push kode ke server (seperti GitHub atau GitLab) dan bekerja bersama tim, agar tidak merusak riwayat kerja anggota tim lain.
Bagaimana Sobat Belajaro? Sekarang tidak perlu takut lagi kalau salah ketik atau salah commit, kan? Git selalu punya cara untuk menyelamatkan hari kamu. Jangan lupa untuk terus berlatih karena learning by doing adalah cara terbaik menguasai Git!
Sampai jumpa di tutorial Belajar Git selanjutnya di Belajaro.id!