Artikel ini akan menghuraikan bagaimana anda memerah semua komit dalam satu komit dalam git. Kami telah melaksanakan semua langkah dalam pengedaran CentOS 8 Linux.
Squash melakukan satu dengan git
Anda boleh menerapkan git squashing ke langkah-langkah berikut:
Langkah 1: Pilih Mula komit
Untuk menentukan berapa banyak komitmen yang anda perlukan, perintah berikut yang akan anda jalankan di terminal:
$ git log
Sekarang, anda akan memanggil git untuk memulakan sesi rebase interaktif dengan menggunakan arahan berikut:
$ git rebase -i KEPALA ~ NDi HEAD ~ N di atas, ‘N’ adalah jumlah komitmen yang telah anda tentukan dari perintah ‘git log’. Mari kita anggap, jumlah komit adalah 4. Sekarang, perintah akan berubah menjadi bentuk berikut:
$ git rebase -i KEPALA ~ 4Senarai komit berikut akan terpapar di terminal di mana masing-masing komited menatap kata pilihan.
Langkah 2: Tukar Pilih ke Squash
Di sini, kami akan menandakan semua komit sebagai squashable, meninggalkan komit pertama yang akan digunakan sebagai titik permulaan. Jadi, ubah editor vim ke mod penyisipan dengan menekan ‘i’ dan ubah semua pick komit ke squash kecuali komit pertama. Sekarang, tekan ‘Esc’ untuk menukar mod sisipan dan tekan ‘: wq!’ Untuk menyimpan semua perubahan dan berhenti. Sekiranya anda menggunakan penyunting teks ringkas, anda boleh menukar perkataan 'pilih' menjadi 'labu' dan menyimpan perubahan. Selepas itu, anda akan melihat tetingkap berikut di terminal:
Apabila anda akan meninggalkan cengkerang ini, anda akan melihat mesej berikut di tetingkap terminal:
Sekiranya anda menyekat semua itu, anda akan melihat semua komit digabungkan menjadi satu pernyataan komitmen yang akan dipaparkan di terminal:
Kesimpulannya
Dengan menggunakan git squash, anda dapat dengan mudah memerah atau memampatkan banyak komit menjadi komit tunggal yang lebih kecil. Anda boleh menggunakan teknik ini untuk memperbaiki kesalahan ejaan dokumentasi. Kami telah melaksanakan git squash dalam artikel ini. Kami juga telah melihat bagaimana kami dapat membuat sejarah bersih menggunakan perintah git rebase dan squash.