Artikel ini akan menerangkan secara ringkas perbezaan antara git reset –hard, –soft, dan –mixed.
Apakah Perbezaan Antara git reset –mixed, –soft, dan –hard?
Git menyediakan berbilang pilihan tetapan semula. Berdasarkan cara mereka mengendalikan komitmen, semua pilihan yang tersedia adalah berbeza antara satu sama lain. Mereka semua mengubah suai sejarah Git dan mengalihkan HEAD kembali. Selain itu, mereka mengendalikan perubahan secara berbeza, seperti:
- ' –lembut 'pilihan yang digunakan dengan ' $ git set semula ” perintah untuk menyimpan fail dan mengembalikan perubahan komit kepada indeks pementasan Git.
- “ $ git reset –mixed ” digunakan untuk membatalkan perubahan komit dan mengalih keluar fail daripada indeks pementasan tanpa memadamkannya daripada direktori kerja.
- ' -keras 'pilihan dengan ' $ git set semula Perintah ” digunakan untuk memadam semua perubahan dan mengalih keluarnya daripada direktori kerja tempatan.
Mari kita ambil contoh untuk melihat bagaimana ' $ git set semula ” perintah berfungsi dengan pilihan yang berbeza!
Langkah 1: Pergi ke Repositori Git yang Diingini
Mula-mula, pindah ke repositori Git yang anda inginkan dengan menggunakan ' cd ” perintah:
$ cd 'C:\Pergi \t is_repo'
Langkah 2: Cipta Fail
Sekarang, laksanakan arahan yang diberikan di bawah untuk mencipta fail:
$ sentuh File4.txt
Langkah 3: Tambahkan Fail pada Indeks Pementasan
Menggunakan ' git add ” perintah untuk menambah fail yang baru dihasilkan ke dalam indeks pementasan:
$ git add File4.txt
Langkah 4: Lakukan Perubahan
Seterusnya, tambahkan semua perubahan pada repositori kerja dengan melaksanakan ' git commit ” perintah:
$ git commit -m 'Fail4 ditambahkan'
Langkah 5: Semak Log Git
Kemudian, semak sejarah log Git untuk melihat komitmen terkini yang telah ditambahkan:
$ log gitDalam output di bawah, dapat dilihat bahawa semua komit tambahan terkini dipaparkan, dan ' KEPALA ” menunjuk kepada komitmen baru-baru ini:
Nota: Untuk melihat kedudukan penunjuk semasa HEAD dengan cara yang lebih baik, laksanakan ' log git 'perintah bersama' -satu garisan ' bendera:
$ log git --dalam talianOutput yang diberikan di bawah menunjukkan senarai hash SHA commit dengan mesej commit:
Langkah 6: Gunakan git reset –soft Command
Untuk mengembalikan perubahan tambahan dari repositori Git ke indeks pementasan, gunakan ' git set semula perintah ” bersama dengan “– lembut ”, dan tentukan kedudukan HEAD yang dikehendaki di mana ia diperlukan untuk menggerakkan penuding:
$ git set semula --lembut KEPALA~ 1
Langkah 7: Semak Status Git
Sekarang, sahkan kedudukan kembali HEAD semak status repositori Git:
$ status gitDapat dilihat bahawa ' git reset –soft ” perintah telah mengembalikan perubahan komit kepada indeks pementasan Git. Selain itu, ' File4.txt ” kini dalam indeks pementasan Git dan perlu dilakukan:
Langkah 8: Semak Log Git
Untuk melihat kedudukan semasa HEAD, jalankan arahan yang diberikan bersama dengan ' -satu garisan ” pilihan:
$ log git --dalam talianDi sini, HEAD menunjuk ke ' Fail3 'komit:
Langkah 9: Gunakan git reset — mixed Command
Untuk membatalkan perubahan yang dilakukan dan mengalih keluar fail dari kawasan pementasan tanpa memadamkannya daripada direktori kerja, laksanakan “ $ git reset –mixed ” perintah bersama dengan kedudukan HEAD yang diperlukan bagi komit:
$ git set semula --bercampur KEPALA~ 1
Langkah 10: Semak Status Git
Lihat perubahan yang baru ditambah dengan menyemak status repositori Git:
$ status gitIa boleh diperhatikan bahawa perubahan komit yang ditentukan dikeluarkan dari kawasan pementasan. Walau bagaimanapun, mereka diletakkan di kawasan kerja:
Langkah 11: Semak Log Git
Semak sejarah log rujukan repositori Git bersama-sama cincang SHA:
$ log git --dalam talian
Langkah 12: Gunakan git reset — hard Command
Untuk mengalih keluar perubahan tambahan daripada direktori kerja setempat Git, laksanakan “ $ git reset –hard ” perintah:
$ git set semula --keras KEPALA~ 1
Langkah 13: Sahkan Penunjuk HEAD Berbalik
Untuk mengesahkan penuding HEAD, kembali ke kedudukan yang ditentukan, jalankan “ log git ” perintah:
$ log git --dalam talianOutput di bawah menunjukkan bahawa HEAD menunjuk ke ' Fail1 ditambah 'komit:
Langkah 14: Semak Status Git
Untuk melihat perubahan yang ditambah, semak status Git:
$ status gitDapat dilihat bahawa kami tidak mempunyai apa-apa jejak dan perubahan yang belum selesai ' File2.txt ” fail. Oleh itu, File2.txt telah dialih keluar sepenuhnya:
Langkah 15: Sahkan Senarai Kandungan Repositori
Untuk mengesahkan senarai repositori kandungan, jalankan ' ls ” perintah:
$ lsSeperti yang anda lihat, ' File2.txt ” fail tidak wujud dalam direktori semasa:
Kami telah menerangkan perbezaan antara pilihan git reset –mixed, –soft, dan –hard.
Kesimpulan
' git set semula Perintah ” digunakan untuk menetapkan semula perubahan, mengubah suai sejarah repositori Git dan membetulkan kesilapan. ' git reset –soft ” perintah menyimpan fail dan mengembalikan perubahan komit ke kawasan pementasan Git. Sebaliknya, ' git reset –bercampur ” perintah membatalkan perubahan komit dan mengeluarkan fail daripada indeks pementasan tanpa memadamkannya daripada direktori kerja. Untuk memadam semua perubahan dan mengalih keluarnya daripada kawasan kerja Git, “ git reset –hard ” arahan boleh digunakan. Artikel ini menggambarkan perbezaan antara git reset –mixed, –soft, dan –hard.