Introducció

El cherry-picking és una tècnica en Git que permet aplicar canvis específics d'un commit existent a una altra branca. Aquesta operació és útil quan necessites portar un canvi concret a una branca diferent sense fusionar tot el conjunt de canvis.

Conceptes Clau

  • Commit: Un instantani del teu projecte en un moment específic.
  • Branca: Una línia de desenvolupament independent.
  • Cherry-Pick: L'acte de seleccionar un commit específic d'una branca i aplicar-lo a una altra.

Quan Utilitzar Cherry-Picking

  • Quan necessites aplicar un hotfix d'una branca de desenvolupament a la branca de producció.
  • Quan vols portar un canvi específic a una branca sense fusionar tots els canvis d'aquesta branca.

Com Realitzar un Cherry-Pick

Pas 1: Identificar el Commit

Primer, has d'identificar el commit que vols cherry-pick. Pots utilitzar git log per veure l'historial de commits i obtenir l'identificador del commit (hash).

git log

Pas 2: Canviar a la Branca de Destí

Canvia a la branca on vols aplicar el commit.

git checkout <nom-de-la-branca-de-destí>

Pas 3: Realitzar el Cherry-Pick

Utilitza el següent comandament per aplicar el commit seleccionat a la branca actual.

git cherry-pick <hash-del-commit>

Exemple Pràctic

Suposem que tens dues branques: develop i main. Vols portar un commit específic de develop a main.

  1. Identificar el Commit: Suposem que el hash del commit és a1b2c3d4.

    git log
    
  2. Canviar a la Branca de Destí:

    git checkout main
    
  3. Realitzar el Cherry-Pick:

    git cherry-pick a1b2c3d4
    

Resolució de Conflictes

És possible que trobis conflictes durant el cherry-pick. Si això passa, Git t'informarà dels fitxers en conflicte. Pots resoldre'ls manualment i després continuar amb el procés.

Passos per Resoldre Conflictes

  1. Resoldre els Conflictes: Edita els fitxers en conflicte per resoldre'ls.

  2. Afegir els Fitxers Resolts:

    git add <fitxer-resolt>
    
  3. Continuar amb el Cherry-Pick:

    git cherry-pick --continue
    

Si vols avortar el cherry-pick, pots utilitzar:

git cherry-pick --abort

Exercici Pràctic

Exercici

  1. Crea dues branques: feature i main.
  2. Fes un commit a la branca feature.
  3. Utilitza git cherry-pick per portar aquest commit a la branca main.

Solució

  1. Crear les Branques:

    git checkout -b feature
    git checkout -b main
    
  2. Fer un Commit a feature:

    git checkout feature
    echo "Hello, World!" > hello.txt
    git add hello.txt
    git commit -m "Add hello.txt"
    
  3. Cherry-Pick a main:

    git checkout main
    git cherry-pick <hash-del-commit>
    

Errors Comuns i Consells

  • Conflictes de Fusió: És comú trobar conflictes durant el cherry-pick. Assegura't de resoldre'ls correctament.
  • Identificadors de Commit Incorrectes: Verifica que estàs utilitzant el hash correcte del commit.
  • Historial de Commits: Utilitza git log per assegurar-te que el commit ha estat aplicat correctament.

Conclusió

El cherry-picking és una eina poderosa per gestionar canvis específics en Git. Amb aquesta tècnica, pots portar commits individuals a altres branques sense necessitat de fusionar tot el conjunt de canvis. Practica aquesta tècnica per dominar-la i utilitzar-la de manera efectiva en els teus projectes.

Dominar Git: De Principiant a Avançat

Mòdul 1: Introducció a Git

Mòdul 2: Operacions Bàsiques de Git

Mòdul 3: Branques i Fusió

Mòdul 4: Treballant amb Repositoris Remots

Mòdul 5: Operacions Avançades de Git

Mòdul 6: Eines i Tècniques de Git

Mòdul 7: Estratègies de Col·laboració i Flux de Treball

Mòdul 8: Millors Pràctiques i Consells de Git

Mòdul 9: Resolució de Problemes i Depuració

Mòdul 10: Git en el Món Real

© Copyright 2024. Tots els drets reservats