Mengenali Perbedaan Antara Git Reset dan Git Revert

testimonial-photo
By. Kenji Santosa07 Feb 2024
46

Git adalah Version Control System yang digunakan oleh banyak Software Developer untuk mengelola perubahan dalam proyek mereka. Dalam Git, ada dua perintah penting yang sering digunakan untuk menghadapi perubahan atau kesalahan yang tidak diinginkan, yaitu git reset dan git revert. Dalam artikel kali ini, kita akan belajar memahami perbedaan antara kedua perintah tersebut, serta kapan mereka sebaiknya digunakan.

Git Reset

RESET Kenji.png

Kita bisa menggunakan “git reset” ketika memindahkan HEAD ke commit tertentu yang menghasilkan fungsi rewind. Command ini sering digunakan ketika kita masih melakukan perubahan di local repository.

 Tiga opsi utama dalam git reset adalah:

  1. git reset --soft <target>

Command ini memindahkan HEAD ke commit target dengan tetap mempertahankan perubahan di staging area dan working directory.

  1. git reset --mixed <target> (default)

Command ini memindahkan HEAD ke commit target dan menghapus perubahan dari staging area, tetapi tetap mempertahankan perubahan di working directory.

  1. git reset --hard <target>

Command ini memindahkan HEAD ke commit target dan menghapus semua perubahan yang ada di staging area dan working directory

Note: <target> bisa diganti target commit seperti “HEAD~1” ini artinya akan memundurkan HEAD sejumlah 1 commit ke belakang

 

Git Revert
Revert Kenji.png

Kita bisa menggunakan “git revert” ketika ingin melakukan undo perubahan pada suatu commit tertentu dengan cara membuat commit baru. Melalui commit yang baru, undo pada commit tertentu menyebabkan commit history yang lebih jelas untuk digunakan di remote repository yang dikerjakan oleh banyak orang.

Perbedaan Utama

  1. Gunakan “git reset” ketika kita mau melakukan perubahan di commit tertentu dengan cara menghapus commit atau meng-undo commit tertentu. Dan biasanya kita menggunakan command ini ketika di local repository.
  2. Gunakan “git revert” ketika kita mau melakukan perubahan di commit tertentu dengan cara membuat commit baru. Biasanya, kita menggunakan command ini ketika mengerjakan remote repository.

Summary

“git reset” dan “git revert” adalah dua perintah yang berbeda dalam Git, masing-masing memiliki behaviour yang berbeda. Kapan kita menggunakannya tergantung pada apakah Kita ingin menghapus commit atau hanya ingin membatalkan perubahan tertentu tanpa menghapus commit history. Dengan pemahaman yang baik tentang perbedaan antara keduanya, Kita dapat menggunakan kedua perintah ini secara efektif dalam mengelola proyek Git kita.