[]

git ile ilgili bir soru (yazılımcılar)

Farz edinki aşağıdaki gibi bir yapı var:
develop
commit a
commit b

test
commit a
commit b
commit c

test/feature-1
commit a
commit b
commit c
commit d

şimdi ben test/feature-1 branch'ndeki commit d'nin develop'a merge'lenmesi için PR açmak istiyorum. develop'dan test/feature-1'a merge mi almalıyım yoksa rebase mi yapmalıyım ya da başka bir şey?
develop'a a,b,c'nin değil de sadece d'nin gitmesini istiyorum.
yani test/feature-1'in yapisi commit a,b,d'ye dönmeli ki sadece aradaki fark gitsin?

 
Örnekte test branch'inin varlık sebebini tam anlayamadığım için yanlış cevaplama ihtimalim var. develop'ta a, b'yi sabit tutup üzerine c'nin gelmeyip sadece d'nin gelmesini istiyorsunuz yani. Merge yapmam, feature-1'deki commit d'yi develop'a cherry pick'lerim bu durumda.


  • jack of hearts  (29.05.22 20:15:03) 
evet cherry pick yapabiliriz ama bunu develop branch'inde değil test/feature-1'da yapmak istiyorum ki sonra history'e baktığımızda anlaşılır olsun. yani test/feature-1'ın history'si a,b,d'ye dönüşmesi gerek.


  • sting  (29.05.22 20:47:52) 
test/feature-1 branch'indeyken rebase -i develop yazın. -i flag'i interactive demek, listede size c ve d commit'ini ekleyeyim mi diye soracak. c'ye drop diyip d'yi kabul (pick) ederseniz istediğiniz olur.


  • plutongezegendegilmi  (29.05.22 21:55:09) 
Ben bu durumlarda şöyle yapıyorum:
develop'tan yepyeni branch alın.

develop-d
commit a
commit b

bu branchteyken commit d'yi cherry pick yaparsanız son durumda:

develop-d
commit a
commit b
commit d

olur. develop-d'yi develop'a mergelemek için PR açın. Değişiklik olarak sadece commit d görünecektir.

History'de de daha anlaşılır olur.

edit: yazılmış zaten bunlar.
  • nickini vermek istemeyen uye  (29.05.22 23:27:22 ~ 23:30:23) 
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.