logo

Git – Pick di ciliegia

idiota scegliere selettivamente in git significa scegliere un commit da un ramo e applicarlo a un altro ramo. Questo è in contrasto con altri modi come unire E sorpasso che normalmente applicano molti commit in un altro ramo.

git cherry-pick è proprio come ribasatura , un concetto avanzato e anche un comando potente. Viene utilizzato principalmente se non vuoi unire l'intero ramo e vuoi alcuni commit.



Quando utilizzare il cherry-pick?

Supponiamo che uno sviluppatore non riesca a riconoscere su quale ramo si trova attualmente e, per errore, si impegna in un altro ramo invece di impegnarsi nel ramo principale. Ora per risolverlo, deve prima scappare git mostra , quindi salva il commit, controlla il ramo principale, applica una patch lì ed esegui il commit con lo stesso messaggio di commit. Ma tutto ciò può essere fatto automaticamente utilizzando un solo comando, ad es. scegliere selettivamente.

Per comprendere meglio fare riferimento allo schema seguente come segue:

Prima di Cherry Pick



Prima di Cherry Pick

Dopo Cherry Pick

Dopo Cherry Pick

carattere Java da stringa

Il comando per Cherry-pick è il seguente:



git cherry-pick>

Commetti l'hash: Un hash di commit è un identificatore univoco generato da Git. Ogni commit ha il suo hash di commit.

come convertire int in stringa java

Nota: Mentre usi questo comando assicurati di essere sul ramo a cui desideri applicare il commit.

Come usare scegliere selettivamente?

Ecco la spiegazione passo passo dell'uso del comando cherry-pick nel progetto creato di seguito mostrato passo passo come segue:

Passo 1: Aprendo il vai bash e creando un nuovo progetto denominato campione e inizializzare il repository utilizzando il file Fa caldo comando.

Passo 2: Creare un ' .TXT' file utilizzando Noi comando al progetto diciamo un file indice e aggiungilo al nostro progetto di esempio, esegui un commit e scrivi un messaggio di commit prima di premere Invio.

Nota: Dopo aver eseguito il Noi comando, digitare :wq per salvare e uscire dal file.

Puoi controllare il tuo impegno tramite registro git comanda facilmente:

Passaggio 3: Supponiamo ora di avere 2 versioni, quindi crea 2 rami diversi utilizzando il file ramo git comando e spostarsi su un ramo, diciamo 2 utilizzando git checkout comando.

Nota: È possibile visualizzare semplicemente tutti i rami eseguendo il comando git branch come mostrato nel diagramma seguente.

Passaggio 4: Supponiamo ora di voler lavorare su qualche nuova funzionalità, quindi creare e aggiungere un nuovo file di funzionalità diciamo feature.txt utilizzando Noi E aggiungere comando rispettivamente come mostrato di seguito. Quindi conferma le tue modifiche con un messaggio di commit.

Puoi controllare il tuo commit tramite il comando git log come mostrato di seguito:

Mostra chiaramente il nostro primo commit dove si trova il nostro ramo 1 e nel ramo 2 si è spostato più avanti e stiamo attualmente lavorando sulla nostra funzionalità nel ramo 2

Passaggio 5: Supponiamo ora di aver trovato un bug nella nostra funzionalità e di sapere che lo stesso bug è presente anche nel nostro ramo 1.

jvm

E ora stiamo provando a correggere alcuni bug o problemi come mostrato di seguito aggiungendo un file fix.txt supponiamo di aggiungerlo al ramo corrente, ovvero 2, e di eseguire il commit delle modifiche richieste.

Controllo dei nostri commit finali:

Passaggio 6: Ora, abbiamo corretto il bug nel ramo 2, ma dobbiamo aggiungere questa correzione anche al nostro ramo 1, ma non vogliamo unire questo ramo 2 nel nostro ramo 1, perché il lavoro potrebbe essere ancora in corso sulla funzionalità.

Pertanto, in questo scenario, possiamo scegliere questo particolare commit. Per fare ciò, basta copiare il file hash valore evidenziato nel diagramma sopra, quindi spostati al ramo 1 utilizzando checkout e quindi utilizza il comando scegliere selettivamente e incolla l'hash che abbiamo appena copiato.

Come si è visto chiaramente da quanto sopra, notiamo che prima avevamo solo index.txt prima di fare il cherry-picking, ma ora abbiamo il file fix.txt anche nel nostro primo ramo.

Ora, se proviamo a controllare git log –oneline , potremo vedere che il commit è arrivato anche nel ramo 1.

Alcuni importanti casi d'uso di Cherry-pick

Di seguito sono riportate alcune applicazioni comuni di Cherry-Pick:

imbottitura css
  1. Se per errore effettui un commit in un ramo errato, utilizzando Cherry Pick puoi applicare le modifiche richieste.
  2. Supponiamo che la stessa struttura dati debba essere utilizzata sia dal frontend che dal backend di un progetto. Quindi uno sviluppatore può utilizzare il cherry-pick per scegliere il commit e utilizzarlo per la sua parte del progetto.
  3. Nel momento in cui viene rilevato un bug, è fondamentale fornire una soluzione ai clienti finali il più velocemente possibile.
  4. A volte un ramo componente potrebbe invecchiare e non convergere nel ramo principale e la richiesta potrebbe essere chiusa, ma poiché git non perde mai quei commit, può essere scelto con cura e ritornerebbe.

Svantaggi dell'utilizzo di Cherry Pick

Il cherry-pick non dovrebbe essere usato sempre in quanto può causare commit di copia e numerose situazioni in cui il cherry-picking funzionerebbe, le fusioni convenzionali sono apprezzate tutto sommato. Inoltre, nella situazione in cui i commit da 2 o più rami aggiornano righe di codice simili con varie sostanze e git seleziona un commit sull'altro ramo, si verifica anche un conflitto.

Conclusione

Il comando cherry-pick di Git è un potente strumento per applicare selettivamente commit specifici tra i rami. È ottimo per correggere errori e condividere codice, ma un uso eccessivo può portare a problemi, soprattutto quando i commit toccano le stesse righe di codice. Quindi, usalo saggiamente per mantenere una cronologia del codice pulita ed efficiente.