Artikel ini akan menghuraikan bagaimana anda melakukan Squash dalam semua komit dalam satu git. Kami telah melaksanakan semua langkah dalam pengedaran Linux CentOS 8.
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 ~ NDalam KEPALA di atas ~ N, 'N' adalah jumlah komitmen yang telah anda tentukan dari perintah 'git log'. Mari kita anggap, jumlah komitmen adalah 4. Sekarang, arahan akan berubah menjadi bentuk berikut:
$ git rebase -i KEPALA ~ 4Senarai komit berikut akan terpapar di terminal di mana masing-masing melakukan penatapan dengan memilih kata.
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 yang mudah, anda boleh menukar kata '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 membuang 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 menekan 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.