Ketiga perintah ini memiliki tujuan yang sepenuhnya berbeda. Mereka bahkan tidak jauh mirip.
git revert
Perintah ini menciptakan komit baru yang membatalkan perubahan dari komit sebelumnya. Perintah ini menambahkan sejarah baru ke proyek (itu tidak mengubah sejarah yang ada).
git checkout
Perintah ini memeriksa konten dari repositori dan meletakkannya di pohon pekerjaan Anda. Itu juga dapat memiliki efek lain, tergantung pada bagaimana perintah itu dipanggil. Misalnya, itu juga dapat mengubah cabang yang sedang Anda kerjakan. Perintah ini tidak membuat perubahan apa pun pada riwayat.
git reset
Perintah ini sedikit lebih rumit. Ini sebenarnya melakukan beberapa hal yang berbeda tergantung pada bagaimana ia dipanggil. Ini memodifikasi indeks (yang disebut "area pementasan"). Atau perubahan yang dilakukan oleh kepala cabang saat ini mengarah ke. Perintah ini dapat mengubah riwayat yang ada (dengan mengubah komit yang direferensikan cabang).
Menggunakan perintah ini
Jika komit telah dibuat di suatu tempat dalam sejarah proyek, dan Anda kemudian memutuskan bahwa komit itu salah dan seharusnya tidak dilakukan, maka itu git revert
adalah alat untuk pekerjaan itu. Ini akan membatalkan perubahan yang dilakukan oleh komit buruk, merekam "undo" dalam sejarah.
Jika Anda telah memodifikasi file di pohon kerja Anda, tetapi belum melakukan perubahan, maka Anda dapat menggunakan git checkout
untuk checkout salinan baru-dari-repositori file.
Jika Anda telah membuat komit, tetapi belum membagikannya dengan orang lain dan Anda memutuskan tidak menginginkannya, maka Anda dapat menggunakannya git reset
untuk menulis ulang sejarah sehingga seolah-olah Anda tidak pernah membuat komit itu.
Ini hanya beberapa skenario penggunaan yang mungkin. Ada perintah lain yang dapat berguna dalam beberapa situasi, dan ketiga perintah di atas memiliki kegunaan lain juga.