Rumah > alat pembangunan > git > teks badan

Bagaimana untuk membatalkan komitmen sebelumnya menggunakan arahan Git revert

PHPz
Lepaskan: 2023-04-03 14:06:05
asal
3479 orang telah melayarinya

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
Salin selepas log masuk

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
Salin selepas log masuk

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.

  1. Gabung konflik

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.

  1. Kembalikan perubahan separa kepada fail

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
Salin selepas log masuk

Kemudian gunakan arahan berikut untuk melihat perubahan:

$ git diff HEAD^ HEAD
Salin selepas log masuk

Gunakan arahan berikut sahaja Pulihkan perubahan yang ditentukan:

$ git checkout HEAD^ -- path/to/file
$ git checkout -p HEAD@{1} path/to/file
Salin selepas log masuk

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
Salin selepas log masuk
  • Atau gulung semula ke komit sebelumnya menggunakan arahan berikut:

    Dalam artikel ini, kami menerangkan cara menggunakan arahan revert Git untuk membuat asal komit sebelumnya dan membalikkan perubahan , serta beberapa masalah biasa dan penyelesaiannya. Operasi ini boleh membantu anda mengurus asas kod anda dengan lebih baik, dengan itu meningkatkan kecekapan kerja anda.
    $ git reflog
    $ git reset HEAD@{1}
    Salin selepas log masuk

    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!

  • sumber:php.cn
    Kenyataan Laman Web ini
    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
    Tutorial Popular
    Lagi>
    Muat turun terkini
    Lagi>
    kesan web
    Kod sumber laman web
    Bahan laman web
    Templat hujung hadapan