Membatalkan penerapan Git terakhir adalah tugas umum bagi pengembang yang perlu mengembalikan perubahan atau memperbaiki kesalahan. Git menyediakan beberapa metode untuk membatalkan komitmen terbaru, memungkinkan Anda mempertahankan riwayat proyek yang bersih dan akurat. Metode ini mencakup menyetel ulang, mengembalikan, atau mengubah penerapan, yang masing-masing memiliki tujuan berbeda bergantung pada apakah Anda ingin mempertahankan atau membuang perubahan.
Panduan ini akan menunjukkan cara membatalkan komitmen Git terakhir menggunakan contoh praktis. Dengan menguasai teknik-teknik ini, Anda dapat mengelola riwayat Git Anda secara efisien dan memastikan proyek Anda tetap terorganisir dengan baik dan bebas kesalahan.
Memahami Git Commit
Sebelum kita menjelajahi cara membatalkan komitmen Git, penting untuk memahami arti komitmen di Git. Komit mewakili cuplikan pekerjaan Anda pada saat tertentu. Ini merangkum semua modifikasi yang Anda buat sejak komit terakhir. Setiap penerapan diidentifikasi secara unik oleh hash SHA-1, memungkinkan Git menyimpan riwayat perubahan.
Membalikkan Komit Git
Ada dua teknik utama untuk membalikkan komit Git: git reset dan git revert. Kami akan membahas setiap metode secara mendetail, termasuk kasus penggunaan dan implikasinya.
git reset --soft HEAD~1
Menggunakan git reset
Perintah git reset adalah alat ampuh yang memungkinkan Anda untuk memindahkan atau "mengatur ulang" HEAD Anda saat ini ke keadaan tertentu. Berikut cara menggunakannya untuk membatalkan komit terakhir Anda:
git reset --soft HEAD~1
Dalam perintah ini, –soft memastikan bahwa perubahan Anda disimpan di staging area, dan HEAD~1 mengacu pada penerapan sebelum yang sekarang. Perubahan dari komit yang dibatalkan akan tetap berada di direktori kerja Anda dan area pementasan.
Berikut ini contoh keluarannya:
Unstaged changes after reset:
M file1.txt
M file2.txt
Hal ini menunjukkan bahwa perubahan pada file1.txt dan file2.txt kini tidak dipentaskan.
Jika Anda ingin membuang sepenuhnya komit dan semua perubahan terkait, Anda dapat menggunakan opsi –hard:
git reset --hard HEAD~1
Berhati-hatilah dengan perintah ini, karena perintah ini secara permanen membuang semua perubahan dari penerapan terakhir.
Memanfaatkan git kembali
Perintah git revert membuat komit baru yang membatalkan perubahan yang dibuat pada komit sebelumnya. Ini adalah cara aman untuk membatalkan perubahan, karena tidak mengubah riwayat penerapan yang ada. Inilah cara Anda dapat menggunakannya:
git revert HEAD
Perintah ini akan membuat komit baru yang membatalkan perubahan yang dibuat pada komit terakhir.
Berikut ini contoh keluarannya:
[master 0a9b2aa] Revert "Add new feature"
1 file changed, 1 insertion(+), 2 deletions(-)
Hal ini menunjukkan bahwa komit baru telah dibuat yang mengembalikan perubahan dari komit sebelumnya.
Membatalkan Komit Git: Contoh yang Diperluas
Menggunakan git reset: Contoh Lainnya
Menyetel Ulang ke Komit Tertentu
Jika Anda ingin membatalkan tidak hanya komit terakhir tetapi beberapa komit, Anda dapat melakukannya dengan menentukan hash komit, bukan HEAD~1
. Misalnya:
git reset --soft 9fceb02
Perintah ini akan memindahkan HEAD ke komit yang ditentukan oleh hash 9fceb02, dan perubahan dari semua komit setelah 9fceb02 akan disimpan di staging area.
Menyetel Ulang Perubahan yang Tidak Dipentaskan
Jika Anda telah membuat perubahan tetapi belum mengkomitnya dan ingin membatalkan perubahan ini, Anda dapat menggunakan git reset tanpa referensi komit apa pun:
git reset --hard
Perintah ini akan membatalkan semua perubahan yang tidak dilakukan, mengembalikan direktori kerja Anda ke keadaan penerapan terakhir.
Menggunakan git revert: Contoh Lainnya
Mengembalikan Rentang Komitmen
Jika Anda ingin membatalkan rentang penerapan, Anda dapat menentukan rentang tersebut menggunakan perintah git revert. Misalnya:
git revert HEAD~3..HEAD
Perintah ini akan membuat komitmen baru yang membatalkan perubahan yang dibuat dalam tiga komitmen terakhir.
Mengembalikan Komitmen Tertentu
Jika Anda ingin membatalkan komit tertentu yang bukan komit terbaru, Anda dapat melakukannya dengan menentukan hash komit:
git revert 9fceb02
Perintah ini akan membuat komit baru yang membatalkan perubahan yang dibuat pada komit yang ditentukan oleh hash 9fceb02
.
Kesimpulan
Git adalah alat yang ampuh, dan kerumitannya bisa jadi menakutkan bagi pemula. Namun, dengan pemahaman yang jelas tentang cara membatalkan komitmen, Anda dapat menavigasi Git dengan percaya diri. Apakah Anda memilih untuk menggunakan git reset atau git revert bergantung pada kebutuhan spesifik Anda dan implikasi dari setiap perintah. Ingat, kunci untuk menguasai Git adalah latihan dan eksplorasi.