Junior
Ce este cherry-pick?
sobes.tech AI
Răspuns de la AI
git cherry-pick este utilizat pentru a transfera unul sau mai multe commits dintr-o ramură în alta.
Principiul de funcționare:
- Selectează commit-ul (sau commits) specificat în ramura sursă.
- Aplică modificările conținute în aceste commits la ramura activă curentă.
- Creează noi commits în ramura curentă cu aceleași modificări și mesaje ca și cele originale.
Când să folosiți:
- Transferarea unei corecții specifice de eroare dintr-o ramură (de exemplu, producție) în alta (de exemplu, dezvoltare), fără a afecta alte modificări.
- Aplicarea modificărilor dintr-o ramură de caracteristici în alta, fără a le fuziona complet.
- Anularea merge-urilor incorecte păstrând commits individuale.
Diferențe față de merge și rebase:
merge: Unește întreaga istorie a modificărilor dintr-o ramură în alta.rebase: Rescrie istoria commits, mutându-le pe o bază nouă.cherry-pick: Aplică doar commits selectați, creând altele noi și fără a modifica istoria commits-urilor originale.
Comanda principală:
# Transferă un commit
git cherry-pick <commit-hash>
# Transferă mai multe commits (în ordinea indicată)
git cherry-pick <commit-hash-1> <commit-hash-2> ...
Exemplu:
Să presupunem că există două ramuri: main și feature. În ramura feature s-a făcut un commit fix-typo. Este necesar să transferați acest commit în ramura main.
# Trecerea pe ramura țintă
git checkout main
# Executarea cherry-pick folosind hash-ul commit-ului din ramura feature
git cherry-pick 7f3bca2 # Exemplu de hash
După executarea comenzii, în ramura main va apărea un nou commit cu aceleași modificări ca și fix-typo, dar cu un hash diferit.