Apabila menggunakan Git untuk kawalan versi kod, kadangkala fail dipadamkan secara tidak sengaja Pada masa ini, kami boleh menggunakan beberapa operasi ajaib Git untuk mendapatkan semula fail yang dipadam secara tidak sengaja .
Jika kami tersalah memadam fail, kami boleh memulihkannya dengan menggunakan perintah checkout
:
git checkout -- <file_path>
Ini arahan Maksudnya adalah untuk memulihkan fail kepada versi terkini. Jika fail telah diserahkan kepada Git sebelum ini, ia akan dipulihkan kepada versi fail yang paling baru diserahkan. Jika fail ini belum diserahkan dan dipadamkan secara tidak sengaja, anda boleh menggunakan perintah checkout
untuk memulihkannya kepada keadaan tidak komited semasa.
Perlu diambil perhatian bahawa menggunakan perintah checkout
akan menimpa pengubahsuaian setempat, jadi pengubahsuaian tempatan perlu disandarkan atau diserahkan kepada repositori sebelum digunakan.
Begitu juga, kita juga boleh menggunakan perintah reset
untuk memulihkan fail:
git reset HEAD <file_path>
Maksud arahan ini ialah ke Fail dipulihkan dari kawasan pementasan ke ruang kerja, iaitu, fail tidak berperingkat. Jika kami tidak melaksanakan arahan komit semasa kami baru memadamkan fail, fail itu telah dipadamkan di kawasan pementasan. Gunakan perintah reset
untuk memulihkan fail dari kawasan pementasan ke ruang kerja.
Perlu diingat bahawa menggunakan perintah reset
tidak akan memadamkan fail, ia hanya akan mengalihkan fail dari kawasan pementasan kembali ke ruang kerja. Jika anda perlu memadamkan fail sepenuhnya, anda boleh menggunakan perintah rm
untuk memadamkannya, dan kemudian gunakan perintah commit
untuk menyerahkan operasi pemadaman.
Jika kami memadam fail secara tidak sengaja dan beberapa operasi sebelumnya telah diserahkan ke repositori, kami boleh menggunakan perintah reflog
Git untuk Dapatkan semula fail ini . Perintah
reflog
merekodkan semua operasi Git, termasuk setiap komit, cantuman, set semula, dsb. Kita boleh melihat reflog
dengan arahan berikut:
git reflog
Arahan ini akan menyenaraikan semua rekod operasi Git, termasuk nombor versi SHA1 operasi dan ulasan yang diserahkan. Lebih kecil nombor rekod, lebih dekat dengan keadaan semasa.
Kami boleh mencari nombor versi SHA1 bagi fail yang dipadam secara tidak sengaja dalam reflog
, dan kemudian gunakan arahan berikut untuk memulihkannya:
git checkout HEAD@{<commit-number>} <file_path>
di mana <commit-number>
mewakili versi komit nombor untuk dipulihkan. Kita boleh mencari nombor komit fail yang dipadam secara tidak sengaja dalam reflog
dan menggantikannya dalam arahan di atas.
Perlu diambil perhatian bahawa jika operasi gabungan atau tetapan semula telah dilakukan sebelum ini, konflik mungkin berlaku apabila menggunakan reflog
untuk memulihkan fail dan konflik perlu diselesaikan secara manual.
Memadamkan fail secara tidak sengaja ialah masalah yang sering dihadapi oleh pembangun, tetapi Git menyediakan banyak kaedah untuk membantu kami mendapatkan semula fail yang dipadam secara tidak sengaja ini. Artikel ini memperkenalkan kaedah menggunakan checkout
, reset
dan reflog
untuk pemulihan fail Anda perlu memilih kaedah yang sesuai mengikut senario yang berbeza. Sebelum melakukan operasi pemulihan, anda perlu menyandarkan pengubahsuaian setempat atau menyerahkannya ke repositori untuk mengelakkan kehilangan data.
Atas ialah kandungan terperinci Penjelasan terperinci tentang beberapa kaedah untuk mendapatkan semula fail yang dipadam menggunakan git. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!