Junior
Cherry-pick nədir?
sobes.tech Süni İntellekt
AI-dan cavab
git cherry-pick bir və ya bir neçə commit-i bir filialdan digərinə köçürmək üçün istifadə olunur.
İş prinsipi:
- Mənbə filialda göstərilən commit(lər)i seçir.
- Bu commitlərdəki dəyişiklikləri aktiv olan hazır filialda tətbiq edir.
- Eyni dəyişikliklər və mesajlarla yeni commitlər yaradır.
Nə zaman istifadə etmək:
- Bir filialdan (məsələn, istehsal) digərinə (məsələn, inkişaf) müəyyən bir səhv düzəlişini köçürmək, digər dəyişikliklərə toxunmadan.
- Bir xüsusiyyət filialından digərinə dəyişiklikləri tətbiq etmək, tam birləşdirmədən.
- Yanlış merge-ləri ləğv etmək və ayrı-ayrı commitləri saxlamaq.
merge və rebase ilə fərqi:
merge: Bir filialın bütün dəyişiklik tarixçəsini digər filialla birləşdirir.rebase: Commit tarixçəsini yenidən yazır, onları yeni baza üzərinə köçürür.cherry-pick: Yalnız seçilmiş commitləri tətbiq edir, yeni commitlər yaradır və orijinal commitlərin tarixçəsini dəyişmir.
Əsas əmri:
# Bir commit-i köçürmək
git cherry-pick <commit-hash>
# Bir neçə commit-i köçürmək (göstərilən ardıcıllıqla)
git cherry-pick <commit-hash-1> <commit-hash-2> ...
Nümunə:
Tutaq ki, iki filial var: main və feature. feature filialında fix-typo adlı commit edilib. Bu commit-i main filialına köçürmək lazımdır.
# Hədəf filialına keçin
git checkout main
# Commit hash istifadə edərək cherry-pick icra edin
git cherry-pick 7f3bca2 # Nümunə hash
Əmri icra etdikdən sonra, main filialında fix-typo ilə eyni dəyişiklikləri ehtiva edən yeni commit yaranacaq, lakin başqa hash ilə.