Junior
Ce este cherry-pick în contextul sistemelor de control al versiunilor?
sobes.tech AI
Răspuns de la AI
Cherry-pick în Git este o operație care permite aplicarea modificărilor dintr-un commit specific pe o altă ramură. Acest lucru este util atunci când trebuie să transferați corecții sau funcții specifice dintr-o ramură în alta, fără a transfera toate commit-urile ulterioare.
Aplicare:
- Se selectează commit-ul: Se determină hash-ul commit-ului pe care doriți să-l "copiați".
- Se comută pe ramura țintă: Se trece pe ramura unde se vor aplica modificările.
- Se execută cherry-pick: Se rulează comanda
git cherry-pick <commit-hash>. Git va încerca să aplice modificările din commit-ul selectat în ramura curentă.
# Trecere pe ramura țintă
git checkout main
# Aplicarea modificărilor din commit cu hash abcdef1
git cherry-pick abcdef1
Scenarii de utilizare posibile:
- Corectarea unei erori într-o ramură de release veche.
- Transferul unei funcții specifice din ramura de dezvoltare în staging sau producție.
- Anularea modificărilor dintr-un commit specific (folosind opțiunea
-nși apoigit revert).
Diferențe față de merge și rebase:
mergeunește toate modificările dintr-o ramură în alta.rebasetransferă toate commit-urile unei ramuri peste alta.cherry-picktransferă doar commit-ul selectat, creând un nou commit cu aceleași modificări în ramura țintă.
Este important să rețineți că cherry-pick creează un nou commit cu un hash diferit. Acest lucru poate duce la duplicarea modificărilor dacă același commit este ulterior combinat cu ramura țintă în alt mod. Se recomandă utilizarea cu precauție și înțelegerea consecințelor.