logo

Git – Cherry Pick

git escollida de cireres a git significa triar un commit d'una branca i aplicar-lo a una altra branca. Això contrasta amb altres maneres com ara fusionar i sobrepassos que normalment apliquen molts commits a una altra branca.

git cherry-pick és com rebasant , un concepte avançat i també un comandament potent. S'utilitza principalment si no voleu fusionar tota la branca i voleu algunes de les confirmacions.



Quan utilitzar el cherry-pick?

Suposem que un desenvolupador no reconeix a quina branca es troba actualment i, per error, es compromet amb una altra branca en lloc de comprometre's amb la branca principal. Ara per arreglar-ho, primer ha de córrer git show , a continuació, deseu la confirmació, comproveu la branca principal, apliqueu-hi un pedaç i feu una confirmació amb el mateix missatge de confirmació. Però tot això es pot fer automàticament utilitzant només una comanda, és a dir. escollida de cireres.

Per entendre millor, consulteu el diagrama següent de la següent manera:

Abans Cherry Pick



Abans Cherry Pick

Després de Cherry Pick

Després de Cherry Pick

cadena i subcadena

L'ordre per a Cherry-pick és la següent:



git cherry-pick>

Commet hash: Un commit hash és un identificador únic que genera Git. Cada commit té el seu hash de commit.

Nota: Mentre feu servir aquesta ordre, assegureu-vos que esteu a la branca a la qual voleu aplicar el commit.

Com utilitzar escollir cirera?

Aquí teniu l'explicació pas a pas de l'ús de l'ordre cherry-pick al projecte creat a continuació, que es mostra a continuació de la següent manera:

Pas 1: Obrint el git bash i creant un nou projecte anomenat mostra i inicialitzant el repo utilitzant fa calor comandament.

Pas 2: Creant a .txt' fitxer utilitzant nosaltres Diguem un fitxer d'índex i afegiu-lo al nostre projecte de mostra i feu una confirmació i escriviu un missatge de confirmació abans de prémer la tecla Enter.

Nota: Després d'executar el nosaltres comanda, escriviu :wq per desar i sortir del fitxer.

Un pot comprovar el vostre compromís git log comanda fàcilment:

Pas 3: Ara suposem que tenim 2 versions, així que creeu 2 branques diferents utilitzant el branca git comanda i moure's a una branca, diguem 2 utilitzant git checkout comandament.

Nota: Es poden veure senzillament totes les branques executant l'ordre git branch tal com es mostra al diagrama següent.

Pas 4: Ara suposem que voleu treballar en alguna característica nova, de manera que la creació i l'addició d'un fitxer de funció nou diguem feature.txt utilitzant nosaltres i afegir comanda respectivament tal com es mostra a continuació. A continuació, confirmeu els vostres canvis amb un missatge de confirmació.

Es pot comprovar la vostra comanda commit per git log tal com es mostra a continuació:

Està mostrant clarament el nostre primer compromís on hi ha la nostra branca 1 i a la branca 2 s'ha allunyat més endavant i actualment estem treballant en la nostra funció a la branca 2.

Pas 5: Ara suposem que hem trobat un error a la nostra funció i hem sabut que aquest mateix error també està present a la nostra branca 1.

I ara estem intentant solucionar algun error o problema, com es mostra a continuació, afegint un fitxer fix.txt, suposem i l'afegim a la branca actual, és a dir, 2 i cometent els canvis necessaris.

Comprovant els nostres compromisos finals:

Pas 6: Ara, hem corregit l'error a la branca 2, però també hem d'afegir aquesta correcció a la nostra branca 1, però no volem fusionar aquesta branca 2 a la nostra branca 1, perquè el treball encara podria estar en marxa amb la funció.

.tostring java

Per tant, en aquest escenari, podem escollir aquest compromís en particular. Per fer-ho, només cal que copieu el haixix valor ressaltat al diagrama anterior, després aneu a la branca 1 mitjançant checkout , i després feu servir l'ordre escollida de cireres i enganxeu el hash que acabem de copiar.

Com es veu clarament a l'anterior, llavors ens adonem que abans només teníem index.txt abans de fer la selecció de cireres, però ara tenim el fitxer fix.txt també a la nostra 1a branca.

Ara si intentem comprovar git log –oneline , podrem veure que el commit també va arribar a la branca 1.

Alguns casos d'ús importants de Cherry-pick

Les següents són algunes de les aplicacions habituals de Cherry-Pick:

  1. Si per error feu una confirmació en una branca incorrecta, podeu aplicar els canvis necessaris mitjançant cherry-pick.
  2. Suposem quan la mateixa estructura de dades s'ha d'utilitzar tant per l'interfície com per la part posterior d'un projecte. Aleshores, un desenvolupador pot utilitzar cherry-pick per triar el commit i utilitzar-lo per a la seva part del projecte.
  3. En el moment en què es troba un error, és fonamental transmetre una solució als clients finals tan ràpid com es podria esperar.
  4. De vegades, una branca d'un component pot envellir i no convergir a la branca principal i la sol·licitud es podria tancar, però com que git mai perd aquestes confirmacions, es pot escollir de manera correcta i tornaria.

Desavantatges d'utilitzar Cherry Pick

Cherry-pick no s'ha d'utilitzar sempre, ja que pot provocar còpies commits i nombroses situacions en què el cherry-picking funcionaria, les fusions convencionals s'agraden tot plegat. A més, en la situació en què els commits de 2 o més branques actualitzen línies de codi similars amb diverses substàncies i git cherry-trick un commit a l'altra branca, també provoca conflictes.

Conclusió

L'ordre cherry-pick de Git és una eina poderosa per aplicar de manera selectiva commits específics entre branques. És ideal per corregir errors i compartir codi, però fer-ne un ús excessiu pot provocar problemes, especialment quan les confirmacions toquen les mateixes línies de codi. Per tant, utilitzeu-lo amb prudència per mantenir un historial de codi net i eficient.