Apabila menggunakan Git untuk kawalan versi kod, pasti akan ada situasi di mana anda perlu membuat asal penyerahan sebelumnya. Git menyediakan banyak cara untuk membuat asal perubahan kod yang diserahkan, salah satunya ialah arahan kembali. Perintah revert membolehkan anda melancarkan satu atau lebih komitmen sebelumnya untuk mengembalikan pangkalan kod tempatan kepada keadaan tertentu.
Artikel ini akan memperkenalkan anda cara menggunakan arahan revert Git untuk membuat asal komit sebelumnya, serta penyelesaian masalah biasa.
1. Pelbagai jenis operasi buat asal
Terdapat dua operasi rollback versi utama dalam Git: set semula dan kembalikan.
Operasi tetapan semula digunakan untuk membuat asal komit setempat dan menghalakan penuding HEAD ke versi komit yang diingini (Tetap Semula Keras), atau mengalihkan penuding HEAD ke laluan versi yang dikehendaki (Tetap Semula Lembut).
Dan arahan revert digunakan untuk membuat asal komit sebelumnya dan mencipta komit baharu untuk mengembalikan perubahan. Kaedah ini amat berguna untuk membatalkan komit yang telah digabungkan ke dalam cawangan lain.
2. Gunakan revert untuk membatalkan komitmen sebelumnya
Dengan menggunakan perintah revert, anda boleh membuat asal komitmen sebelumnya dan membuat komitmen baharu untuk mengembalikan perubahan.
Arahan ini boleh menggunakan sintaks berikut:
$ git revert commit_id
Di mana, commit_id ialah ID penyerahan yang akan dibatalkan. Ia mestilah nilai yang tepat (boleh didapati dalam arahan log git).
Arahan ini akan mencipta komit baharu, membuat asal perubahan yang dibawa oleh komit yang ditentukan dan menggabungkan komit baharu ke cawangan sasaran supaya orang lain dapat memahami tempat asal dibuat.
Sebagai contoh, jika kita menambah baris pada fail dan melakukan perubahan dan kemudian ingin membuat asal perubahan, kita boleh memasukkan arahan berikut:
$ git revert a1b2c3d4
Ini akan membatalkan komit dengan ID a1b2c3d4 , dan buat komitmen baharu untuk mengembalikan perubahan.
3. Masalah biasa dan penyelesaian arahan revert
Apabila menggunakan arahan revert, terdapat beberapa masalah biasa yang perlu diberi perhatian.
Jika arahan revert menghadapi konflik cantum, Git akan menggesa anda untuk bergabung secara manual. Jika anda perlu menggabungkan secara manual, anda boleh menggunakan git merge untuk melakukannya.
Jika anda ingin membuat asal perubahan separa daripada komit (bukan keseluruhan komit), anda perlu membuat sementara menggunakan git add dan git commit arahan diserahkan. Untuk melakukan ini, mula-mula buat cawangan baharu dan alihkannya ke lokasi komit yang anda mahu kembalikan:
$ git checkout -b temp_branch commit_id
Kemudian gunakan arahan berikut untuk melihat perubahan:
$ git diff HEAD^ HEAD
Gunakan arahan berikut sahaja Pulihkan perubahan yang ditentukan:
$ git checkout HEAD^ -- path/to/file $ git checkout -p HEAD@{1} path/to/file
Akhir sekali, gunakan arahan git add dan git commit untuk mencipta komit baharu dan gabungkannya ke dalam cawangan sasaran:
$ git checkout origin/destination $ git merge temp_branch
$ git reflog $ git reset HEAD@{1}
Atas ialah kandungan terperinci Bagaimana untuk membatalkan komitmen sebelumnya menggunakan arahan Git revert. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!