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.