[]
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?
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.
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