Squash

squash

Saat kita melakukan merge atau rebase, semua commit history akan tetap ada.

Jadi kita kita di branch tersebut melakukan commit sebanyak 10 kali, ketika kita lakukan merge atau rebase, maka 10 commit tersebut akan tetap ada.

Kadang ada kasus dimana kita ingin melakukan penggabungan commit tersebut menjadi 1 commit saja, hal ini dinamakan Squash.

Squash akan membuat 10 commit history tersebut menjadi 1 commit, dimana semua 10 perubahan tersebut akan digabungkan menjadi 1 commit saja.

Diagram Merge Tanpa Squash

diagram merge tanpa squash

Diagram Merge Menggunakan Squash

Diagram Merge Menggunakan Squash

Melakukan Squash

Squash bisa dilakukan ketika merge atau ketika rebase.

Untuk melakukan squash ketika merge, kita bisa gunakan perintah : git merge --squash namabranch

Latihan

  • Di branch master, buat branch feature/merge-squash 
  • Di branch master, buat perubahan file version.txt
  • Di branch feature/merge-squash, buat commit file 1 dan file 2
  • Di branch master, merge dengan branch feature/merge-squash menggunakan squash

Di branch master, buat branch feature/merge-squash dan  buat perubahan file version.txt

buat branch baru dan commit file version modif

Di branch feature/merge-squash, buat commit file 1 dan file 2

file1 commit branch feature merge squash

file2 commit branch feature merge squash

git log branch feature merge squash

Di branch master, merge dengan branch feature/merge-squash menggunakan squash

git merge squash branch feature merge squash

commit merge squash tidak ada di log

merge file di branch feature merge squash ke master

masih pindah ke branch feature merge squash walau sudah di merge ke master
Next Post Previous Post
No Comment
Add Comment
comment url