search
Giriş
Merhabalar arkadaşlar, Sitemizi programlama ile ilgilenen bütün arkadaşlarımızın Türkçe içerik konusunda çektiği sıkıntılar düşünülerek soru/cevap şeklinde bir etkileşimde bulunabilmesi için kurduk. Umuyoruz hepimiz için güzel bir deneyim olur. Hasscript Ekibi
0 oy
5.6k gösterim
Selamlar herkese,

Git kullanırken cherry pick ifadesi ile karşılaştım. Tam olarak cherry pick nerelerde ve nasıl kullanılıyor ?

Teşekkürler
Genel Kavramlar kategorisinde 176 puan

2 Cevap

0 oy
Atılan bir commit içindeki kodları şu an checkout yapılmış olan branch üzerine alma işlemine denir. Daha detay için aşağıdaki linke de göz atabilirsiniz.

https://kodcu.com/2015/03/cherry-pick-nedir-nasil-yapilir/
6.2k puan
1 oy

Bugün bir geliştirmeyi productiona almak için bir brach içinden sadece belirli commitleri almam gerekti ve nasıl yapmam gerektiğini biliyorum ama hiç tecrube etmemiştim. Cevap cherry-pick. Nasıl yaptığımı kısaca anlatayım. Güzel bir örnek olarak kalsın kenarda.

(x) ---..------c1----c2-----c3-----c4---->HEAD
(master)         ---.....................------c5------>HEAD

Farz edelim ki x branch üzerindeki c1, c2, c3 commitlerini master üzerine almak istiyoruz.

İlk olarak hedef olan branch üzerine geçiyoruz.

git checkout master

Sonra diğer branch üzerindeki commitleri cherry-pick diyerek çekeceğiz. Bunun için commit'in hash kodu gerekiyor. Ben sunucu üzerinden aldım(bitbucket) ama git log diye de logu görebiliriz

git cherry-pick c1 c2 c3

Arada boşluk bırakarak ve zaman sıralaması ile commit hash id lerini yazdım.

git status dediğimiz zaman artık master üzerinde 3 adet commit göreceğiz ve bunları push etmemizi isteyecek. git push ile repomuza gönderebiliriz.

Güzel ve etkili.

6.2k puan
peki ya üst branchde önceden commitlerle gelen değişiklikler masterda yoksa sorun yaratır mı?

chery pick bize özetle istediğimiz bir commiti almamıızı sağlıyor diyebilir miyiz bir branch üzerindeki. dikkat etmemiz gereken ince bir detay var mı?
Kümülatif şekilde önceden gelen commitleri almaz. Sadece bir commit içindeki değişiklikleri alır. PR (pull request) çıktığın zaman bütün değişiklikleri kümülatif alır.

İlgili sorular

0 oy
1 cevap 509 gösterim
509 gösterim
Git' te branch mantığı nasıldır. Tek bir branch oluşturup sürekli bunun üzerinden gitmek ne kadar doğru? Her geliştirme yapınca yeni branch mı oluşturmalı, oluşturduklarımız iş bitince silin meli mi local'den veya remote'dan. Veya branch'lere tag verilmeli mi v1, v2 .. olarak. Bu branch isimleri verirken nasıl bir keyword kullanılmalı ör. feature/loginDevelopment_v1 demek ne kadar uygun olur.
28 Temmuz 2017 Genel Kavramlar kategorisinde tolgacelik.art 2.0k puan sordu
0 oy
1 cevap 460 gösterim
460 gösterim
AtomicLong type da bir değişken kullanımı ne işe yaramaktadır? Hangi durumlarda kullanılır genelde bilgisi olan var mı?
30 Mayıs 2017 Java kategorisinde tolgacelik.art 2.0k puan sordu
0 oy
1 cevap 2.3K gösterim
2.3K gösterim
"git reset" ve "git revert" arasındaki fark nedir? Git revert commit+ push edilen kodu eski haline mi alıyor acaba?
28 Temmuz 2017 Genel Kavramlar kategorisinde tolgacelik.art 2.0k puan sordu
0 oy
1 cevap 2K gösterim
2K gösterim
selam, Git'deki Fork ve Branch özelliği ne işe yaramaktadır? ve ne farkı vardır?
2 Mayıs 2017 Genel Kavramlar kategorisinde tolgacelik.art 2.0k puan sordu
0 oy
1 cevap 678 gösterim
678 gösterim
redirect:/home ve /home arasında ne gibi bir fark var?
9 Eylül 2022 Web Programlama kategorisinde Furkan Bilsel 138 puan sordu