Rumah  >  Artikel  >  alat pembangunan  >  Bagaimana untuk memadam komit pada github

Bagaimana untuk memadam komit pada github

PHPz
PHPzasal
2023-04-06 12:48:141844semak imbas

Apabila pengaturcara menjadi semakin mahir menggunakan Github, mereka mungkin menghadapi pelbagai masalah. Antaranya, memadamkan komit adalah salah satu masalah biasa. Sebelum menulis artikel ini, kita perlu mengetahui beberapa asas Git untuk lebih memahami proses pemadaman komit.

Git ialah sistem kawalan versi teragih (DVCS). Ia membolehkan berbilang orang bekerja pada projek yang sama. Semua orang boleh membuat perubahan pada kod dan menolak perubahan pada repositori kongsi. Apabila semua orang ingin menggabungkan perubahan mereka ke dalam pangkalan kod yang dikongsi, komponen penting Git - cawangan (cawangan) amat berguna. Setiap cawangan adalah rekod bebas, dan perubahan boleh ditambah melalui arahan komit. Perintah komit menyimpan perubahan pada pangkalan data setempat Git dan memberikan cincangan SHA-1 sebagai pengecam.

Memadamkan komit dalam Git bukanlah operasi biasa, kerana setiap komit ialah rekod bebas dalam pangkalan data Git. Setiap perubahan ialah "snapshot" yang tidak boleh diubah, bukan perbezaan perubahan. Oleh itu, mengalih keluar komit boleh memusnahkan sejarah komit orang lain, menjadikan pustaka kongsi tidak boleh digunakan atau mustahil untuk digabungkan. Jadi jika anda ingin mengalih keluar komit, fokus pada cara membuat asal komit tanpa melanggar asas kod.

Pertama, jika anda hanya mahu membuat asal semua perubahan setempat dan menulis ganti kandungan pada cawangan semasa, anda boleh menggunakan arahan berikut:

git reset --hard HEAD

Arahan ini akan menukar penuding HEAD (iaitu. Komit terbaharu cawangan semasa) menunjuk kepada komit yang ditentukan dan menggulung semula pokok kerja dan kawasan pementasan ke komit itu. Ia juga akan mengosongkan semua perubahan tanpa komitmen. Walau bagaimanapun, sila ambil perhatian bahawa ini akan memadamkan semua perubahan setempat dan menimpa sebarang perubahan. Jika anda masih mahu menyimpan beberapa perubahan, anda harus menyimpan sebagai dahulu dan menggunakan arahan ini untuk kembali ke komit sebelumnya (seperti 'git reset --hard HEAD~2').

Kedua, jika anda hanya mahu membatalkan komit tetapi masih menyimpan semua perubahan setempat, anda boleh menggunakan arahan berikut:

git reset HEAD~

Arahan ini akan menghalakan penuding HEAD ke nod induknya , tetapi tidak Tukar pokok kerja. Membatalkan komitmen akan kekal di luar pokok kerja dan kawasan pementasan. Anda boleh terus mengedit fail dan menyerahkan perubahan sebagai komitmen baharu.

Akhir sekali, jika anda telah menolak perubahan pada pustaka kongsi dan ingin memadamkan komit, gunakan arahan berikut:

git revert <commit的SHA-1值>

Arahan ini akan membuat asal komit yang ditentukan dan mencipta yang baharu Komit yang membatalkan komit yang ditentukan. Anda boleh menentukan berbilang komitmen dan kemudian gabungkan batal komitmen untuk mencapai gabungan yang lebih baik.

Terdapat beberapa perkara yang perlu diingat apabila memadamkan komit dalam Git. Mula-mula, fikir dengan teliti sebelum menambah perubahan pada repositori tempatan atau pustaka kongsi anda. Komit tidak boleh diubah, dan mengalih keluar komit boleh menyebabkan kekacauan yang lebih besar. Kedua, berhati-hati dengan arahan Git, terutamanya pada asas kod yang dikongsi. Penyalahgunaan arahan ini boleh mengakibatkan konflik yang tidak boleh digabungkan, atau kehilangan data yang tidak dapat dipulihkan. Akhir sekali, disyorkan untuk membuat sandaran data anda sebelum membuat sebarang perubahan untuk mengelakkan kesan perubahan anda yang tidak diingini.

Memadamkan komit boleh menjadi salah satu operasi paling rumit dalam Git. Walau bagaimanapun, jika anda memahami beberapa asas dan mendekatinya dengan berhati-hati, anda sepatutnya dapat menyelesaikan tugas itu dengan jayanya tanpa memusnahkan sejarah komitmen orang lain.

Atas ialah kandungan terperinci Bagaimana untuk memadam komit pada github. 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