[]

git rebase vs merge

rebase'e ihtiyaç duyuyor musunuz?

7-8 kişilik bir kaç farklı yazılım takımında bulundum. hiç rebase yapma gereği duymadım/duymadık.

siz çalıştığınız yerde rebase yapıyor musunuz?

commit'lerimi anlamlı yapmaya çalışıyoruz ve feature-branch'leri "squash and merge" şeklinde tek commit olacak şekilde merge'liyoruz. versiyon history mümkün mertebe temiz.

siz kullanıyor musunuz? rebase yapmayarak ne kaçırıyoruz?

edit: büyük proje, monolitik bir yapı ve zaman zaman aynı yerlere müdahale edebiliyoruz. rebase bizi bozabilir mi böyle durumlarda

 
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.
  • plutongezegendegilmi  (25.02.21 22:54:05) 
feature branchlerin bekleneni tek bir feature icermesi. o yuzden squash and merge'de history'nin kaybolmasi cok onemli olmuyor genelde. squash and merge'den ziyade developerlar kendileri squash'lemeyi de tercih edebiliyor. PR acacagi zaman kendisi squashleyip tek commit olarak gonderiyor bir cok arkadsaim.

rebase gerekli oluyor birisi senin degistirdigin seyler ustunde degisiklik yapmis olabilir, veya baska bir yerde yapilan degisiklik senin de kullandigin bir seyi bozmus olabilir. github uzerinde outdated branch'leri mergelememeyi secebiliyorsun. PR'da test calisiyorsa rebase yapip guncel haliyle testleri calistirmak daha dogru aslinda.
  • eksi sozlukte eksiyen adam  (26.02.21 10:19:24 ~ 10:20:07) 
1
buraya yazılanların hakları Sir Anthony Hopkins'e aittir.
yazan eden compumaster, ilgilenen eden fader
modere edenler angelus, Artibir, aychovsky, baba jo, basond, compumaster, deckard, duyulmasi gerektigi kadar, fader, fraise, groove salad, kahvegibi, kaymaktutmayansicaksut, kibritsuyu, monstro, pandispanya, robin, ron dennis
bu sitede yazılanların hiçbiri doğru değildir. site içeriği küçükler için sakıncalı olabilir. yazılardan yazarları sorumludur. kaynak göstermeden alıntılanamaz. devlet tarafından atanmış bir kurumun internet üzerinde kimin hangi bilgiye ulaşıp ulaşamayacağına karar vermesi insan haklarına aykırıdır. web siteleri kullanıcıların istekleri doğrultusunda bağlandıkları yerlerdir. kullanıcılar isterlerse bir web sitesine bağlanmayabilirler. bu güçleri ve imkanları mevcuttur. bir kullanıcı bir siteye bağlanmak istiyorsa bu onun tercihi ve hakkıdır. bağlanmak istemiyorsa bu yine onun tercihi ve hakkıdır. halkın kendisine hizmet etmesi için görevlendirdiği kurumlar hadlerini aşıp halka neye ulaşıp ulaşmayacağını bilmeyen cahil cühela muamelesi edemezler. ebeveynlerin çocuklarını sakıncalı içeriklerden koruması için çok sayıda bedava ve ücretli yazılım mevcuttur. bu yazılımlar bir web tarayıcısını kullanmaktan daha karmaşık teknik bilgi gerektirmemektedir. devletin milletini küçük düşürmesi ve ebleh yerine koyması yasaktır. Skimlinks ile linkler üzerinden yönlendirme payı alınmaktadır.