Sobes.tech
Junior

Sürüm nəzarət sistemləri kontekstində cherry-pick nədir?

sobes.tech Süni İntellekt

AI-dan cavab

Git-də cherry-pick, müəyyən bir commit-dən dəyişiklikləri başqa bir buda tətbiq etməyə imkan verən əməliyyatdır. Bu, müəyyən düzəlişləri və ya funksiyaları bir budan digərinə köçürmək üçün, bütün sonrakı commitləri köçürmədən faydalıdır.

Tətbiq:

  1. Commit seçimi: "kopyalamaq" istənilən commit-in hash-i müəyyən edilir.
  2. Hədəf buda keçid: Dəyişikliklərin tətbiq olunacağı buda keçilir.
  3. cherry-pick icrası: git cherry-pick <commit-hash> əmri icra olunur. Git, seçilmiş commit-in dəyişikliklərini cari buda tətbiq etməyə çalışacaq.
# Hədəf buda keçidi
git checkout main

# abcdef1 hash-li commit-dən dəyişiklikləri tətbiq et
git cherry-pick abcdef1

İstifadə halları:

  • Köhnə buraxılış buda səhvini düzəltmək.
  • İnkişaf budasından staging və ya istehsala xüsusi bir funksiyanı köçürmək.
  • Müəyyən commit-in dəyişikliklərini geri almaq (-n seçimi ilə və sonra git revert).

merge və rebase-dən fərqləri:

  • merge bir budan digərinə bütün dəyişiklikləri birləşdirir.
  • rebase bir budanın bütün commitlərini digərinin üstünə köçürür.
  • cherry-pick yalnız seçilmiş commit-i köçürür və eyni dəyişikliklə yeni bir commit yaradır.

Əhəmiyyətli: cherry-pick yeni bir commit yaradır və fərqli bir hash ilə olur. Bu, eyni commit-in daha sonra başqa bir şəkildə hədəf buda ilə birləşdirilməsi zamanı dəyişikliklərin təkrarlanmasına səbəb ola bilər. Diqqətlə istifadə edin və nəticələrini anlayın.