Rumah  >  Artikel  >  alat pembangunan  >  Bagaimana untuk membatalkan komitmen sebelumnya menggunakan arahan Git revert

Bagaimana untuk membatalkan komitmen sebelumnya menggunakan arahan Git revert

PHPz
PHPzasal
2023-04-03 11:52:193367semak imbas

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.

  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

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
  • 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}

    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!

  • 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