Ben kullanıyorum sık sık, yani sık dediğim ayda 2-3 falan.
Squash and merge sevmiyorum çünkü history kayboluyor. Branch'te 50 tane commit'im var, hepsinde güzel güzel neyi nasıl yaptığımı yazmışım, bi squash ediyorum bilmem kaç bin satırlık bir tane commit haline geliyor, yazdığım yorumlar da kayıp.
Bunun sorunu şu, mesela bi tane middleware yazdım geçen ve yazarken de adım adım commit'ledim. Sonradan bakan biri middleware'ın o adım adım nasıl implement edileceğini görebilsin istiyorum. Niye başka türlü değil de bu türlü yapmayı tercih ettiğimi tahmin etmek zorunda kalmasın, baksın görsün. Öbür türlü ya baştan keşfedecek ya da hatalı bir şeyler yapacak, boşa efor her türlü.
Bir de mesela bi feature merge oldu, hata çıktı veya kısa bir süre sonra o feature'dan vazgeçtik diyelim. O durumda rebase büyük kolaylık, araya girip tık tık ilgili commit'leri ayıklıyorum, kalanlarla yola devam ediyoruz. Revert iyi bir tercih değil çünkü diğer developerlar o arada bir şey merge ettilerse conflict oluyor.
Projede şu an için 5 developer'ız ama proje büyük sayılır, dün baktım 18 milyon satır olmuş. Microservice ama monorepo. Rebase beni bozmadı henüz.
0