Rumah >alat pembangunan >git >Bagaimana untuk membatalkan operasi komit dalam git

Bagaimana untuk membatalkan operasi komit dalam git

PHPz
PHPzasal
2023-04-04 10:43:3414347semak imbas

Apabila menggunakan Git untuk kawalan versi, operasi komit ialah langkah penting, yang bermaksud menyimpan perubahan kod semasa ke gudang tempatan. Walau bagaimanapun, dalam penggunaan sebenar, kami kadangkala menghadapi beberapa masalah dan perlu membatalkan operasi komit. Artikel ini akan memperkenalkan cara membatalkan operasi komit.

Batalkan operasi tambah

Sebelum git commit, kita perlu menggunakan arahan git add untuk menambah perubahan pada kawasan pementasan dan bersedia untuk penyerahan. Jika kami mendapati ralat pengubahsuaian selepas melaksanakan arahan git add dan tidak mahu menyerahkan pengubahsuaian ke kawasan pementasan, kami boleh membatalkan operasi tambah dengan melaksanakan perintah git reset HEAD. Perintah ini akan mengalih keluar fail atau direktori yang ditentukan daripada kawasan pementasan tetapi mengekalkan pengubahsuaiannya dalam direktori kerja.

Sebagai contoh, kami melaksanakan arahan berikut untuk menambah fail ke kawasan pementasan:

git add index.html

Sekarang kami tidak mahu menyerahkan fail ini, kami boleh menggunakan arahan berikut untuk membatalkan operasi tambah:

git reset HEAD index.html

Batalkan operasi komit

Jika kami telah melakukan operasi komit, tetapi kemudian mendapati maklumat penyerahan adalah salah atau kandungan penyerahan adalah salah, kita perlu menyemaknya dan menyerahkannya semula Pada masa ini kita perlu membatalkan operasi komit yang terakhir.

Dalam git, biasanya terdapat dua cara untuk membatalkan komit: gunakan arahan git revert atau gunakan arahan git reset.

Gunakan arahan git revert

Arahan git revert digunakan untuk membuat asal komit Ia tidak mengubah sejarah komit, tetapi mencipta komit baharu untuk membuat asal yang terdahulu. Kaedah ini sesuai digunakan apabila kod telah ditolak ke repositori awam.

Lakukan arahan berikut untuk membuat asal komit:

git revert <commit-id>

Antaranya, commit-id mewakili nombor ID penyerahan yang perlu dibatalkan. Sebagai contoh, jika kita ingin membatalkan komit terakhir, kita boleh menggunakan arahan berikut:

git revert HEAD

Selepas melaksanakan arahan ini, git akan membuka editor teks, membolehkan anda mengedit maklumat komit dan mengesahkan buat asal operasi.

Jika anda ingin membuat asal berbilang komit, anda boleh menentukan berbilang komit-id, contohnya:

git revert <commit-id1> <commit-id2> <commit-id3>

Gunakan arahan git reset

git reset Perintah ini juga boleh digunakan untuk membatalkan operasi komit, tetapi ia akan mengubah sejarah komit, jadi ia hanya terpakai untuk operasi di gudang tempatan dan tidak boleh digunakan untuk operasi yang telah ditolak ke gudang jauh.

Lakukan arahan berikut untuk membuat asal komit:

git reset <commit-id>

Antaranya, commit-id mewakili nombor ID penyerahan yang perlu dibatalkan. Contohnya, jika kita ingin membatalkan komit terakhir, kita boleh menggunakan arahan berikut:

git reset HEAD~1

Selepas melaksanakan arahan ini, komit terkini akan dialih keluar dan pengubahsuaiannya akan dikekalkan dalam direktori kerja. Perlu diingatkan bahawa kaedah ini hanya membatalkan operasi komit, dan perubahan kod yang sepadan tidak dipadamkan. Jika anda perlu melancarkan semula kod anda kepada versi tertentu, anda boleh menggunakan arahan git checkout.

Ringkasan

Artikel ini memperkenalkan cara membatalkan operasi komit dalam Git, termasuk membatalkan operasi tambah dan menggunakan perintah git revert dan git reset untuk membuat asal operasi komit. Adalah perlu untuk memilih kaedah yang sesuai mengikut situasi sebenar untuk memastikan kawalan versi kod adalah betul.

Atas ialah kandungan terperinci Bagaimana untuk membatalkan operasi komit dalam git. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn