Introducció a Git Bisect

Git Bisect és una eina poderosa que permet als desenvolupadors trobar ràpidament el commit que va introduir un error en el codi. Utilitza un algorisme de cerca binària per identificar el commit problemàtic, reduint significativament el temps necessari per a la depuració.

Objectius d'aquest tema:

  • Entendre què és Git Bisect i per què és útil.
  • Aprendre a utilitzar Git Bisect per trobar commits problemàtics.
  • Practicar amb exemples pràctics i exercicis.

Què és Git Bisect?

Git Bisect és una eina que ajuda a trobar el commit exacte que va introduir un error en el codi. Funciona mitjançant una cerca binària, dividint el rang de commits en dues meitats i preguntant si l'error és present en la meitat superior o inferior. Aquest procés es repeteix fins a trobar el commit problemàtic.

Avantatges de Git Bisect:

  • Eficiència: Redueix el nombre de commits que cal revisar manualment.
  • Precisió: Identifica exactament el commit que va introduir l'error.
  • Automatització: Pot ser utilitzat amb scripts per automatitzar la cerca d'errors.

Com Utilitzar Git Bisect

Passos Bàsics

  1. Iniciar Git Bisect:

    git bisect start
    
  2. Marcar el commit actual com dolent:

    git bisect bad
    
  3. Marcar un commit conegut com a bo:

    git bisect good <commit_id>
    
  4. Git Bisect seleccionarà un commit intermediari per provar. Compila i prova el codi per veure si l'error està present.

  5. Marcar el commit com a bo o dolent:

    git bisect good
    

    o

    git bisect bad
    
  6. Repetir els passos 4 i 5 fins que Git Bisect identifiqui el commit problemàtic.

  7. Finalitzar Git Bisect:

    git bisect reset
    

Exemple Pràctic

Suposem que tenim un projecte on l'error es va introduir en algun moment entre el commit abc123 (bo) i el commit xyz789 (dolent).

  1. Iniciar Git Bisect:

    git bisect start
    
  2. Marcar el commit dolent:

    git bisect bad xyz789
    
  3. Marcar el commit bo:

    git bisect good abc123
    
  4. Git Bisect seleccionarà un commit intermediari. Suposem que selecciona def456. Prova el codi en aquest commit.

  5. Si el codi funciona bé:

    git bisect good
    
  6. Si el codi té l'error:

    git bisect bad
    
  7. Repetir fins que Git Bisect identifiqui el commit problemàtic.

  8. Finalitzar Git Bisect:

    git bisect reset
    

Exercici Pràctic

Exercici 1: Utilitzar Git Bisect

  1. Clona el següent repositori:

    git clone https://github.com/exemple/git-bisect-exercise.git
    cd git-bisect-exercise
    
  2. Inicia Git Bisect:

    git bisect start
    
  3. Marcar el commit actual com dolent:

    git bisect bad
    
  4. Marcar el commit abc123 com a bo:

    git bisect good abc123
    
  5. Segueix les instruccions de Git Bisect per identificar el commit problemàtic.

  6. Finalitza Git Bisect:

    git bisect reset
    

Solució de l'Exercici

  1. Inicia Git Bisect:

    git bisect start
    
  2. Marcar el commit actual com dolent:

    git bisect bad
    
  3. Marcar el commit abc123 com a bo:

    git bisect good abc123
    
  4. Prova el commit intermediari seleccionat per Git Bisect. Suposem que selecciona def456.

  5. Si el commit def456 és bo:

    git bisect good
    
  6. Si el commit def456 és dolent:

    git bisect bad
    
  7. Repetir fins que Git Bisect identifiqui el commit problemàtic.

  8. Finalitza Git Bisect:

    git bisect reset
    

Conclusió

Git Bisect és una eina essencial per a qualsevol desenvolupador que treballi amb Git. La seva capacitat per identificar ràpidament el commit que va introduir un error pot estalviar molt de temps i esforç en la depuració. Practicar amb Git Bisect en projectes reals ajudarà a dominar aquesta eina i millorarà significativament el flux de treball de depuració.

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