Membaca ulang pertanyaan itu, sepertinya Anda ingin mengembalikan perubahan yang ada di pohon kerja Anda dan bukan perubahan yang telah dilakukan sebelumnya tetapi beberapa jawaban lain membuatnya terdengar seperti bacaan saya mungkin salah. Bisakah Anda mengklarifikasi?
Jika perubahan hanya ada di copy pekerjaan Anda, maka cara termudah untuk melakukannya adalah dengan membuat perubahan yang ingin Anda pertahankan:
git add -i <file>
Kemudian buang perubahan yang tidak ingin Anda pertahankan dengan memeriksa versi indeks:
git checkout -- <file>
Kemudian hapus tahapan perubahan jika Anda belum menginginkannya dipentaskan:
git reset -- <file>
Resep ini hanya mengembalikan perubahan yang dipilih ke file (atau file yang Anda tentukan) dan tidak membuat komit sementara yang membutuhkan reverting.
Jika Anda ingin secara selektif menerapkan hanya beberapa perubahan yang dilakukan pada komit sebelumnya maka Anda dapat mengatur ulang file ke status komitmen sebelumnya terlebih dahulu:
git reset <commit_before_first_unwanted_change> -- <file>
Kemudian Anda dapat mengikuti resep sebelumnya untuk mem git add -i <file>
-stage perubahan yang ingin Anda simpan, git checkout -- <file>
untuk membuang perubahan yang tidak diinginkan dan git reset -- <file>
untuk 'unstage' perubahan.