Rastreo de errores en la base de código de Git

GitGitBeginner
Practicar Ahora

This tutorial is from open-source community. Access the source code

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

Git es un sistema de control de versiones poderoso que permite a los desarrolladores rastrear los cambios en su código base a lo largo del tiempo. Una de las características más útiles de Git es la capacidad de encontrar el commit que introdujo un error. Esto puede ser increíblemente útil cuando se intenta localizar la fuente de un problema en su código.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL git(("Git")) -.-> git/BasicOperationsGroup(["Basic Operations"]) git/BasicOperationsGroup -.-> git/commit("Create Commit") subgraph Lab Skills git/commit -.-> lab-12739{{"Rastreo de errores en la base de código de Git"}} end

Encontrar manualmente el commit que introdujo un error

Tu tarea es encontrar manualmente el commit que introdujo un error en el repositorio git-playground. El repositorio se puede encontrar en https://github.com/labex-labs/git-playground. El error es que el archivo file2.txt debería imprimir "This is file2.txt." en lugar de "This is file2.".

Para completar este laboratorio, necesitarás usar el comando git bisect para realizar una búsqueda binaria a través del historial de commits del repositorio. Necesitarás marcar los commits como "buenos" (sin errores) o "malos" (con errores) hasta que hayas reducido el commit que introdujo el error.

  1. Cambia al directorio del repositorio:
cd git-playground
  1. Inicia el proceso de git bisect:
git bisect start
  1. Marca el commit actual como "malo":
git bisect bad HEAD
  1. Marca un commit con el mensaje "Initial commit" como "bueno". Git te cambiará automáticamente a un nuevo commit para que lo pruebas:
git bisect good 3050fc0de

Git te cambiará automáticamente a un nuevo commit para que lo pruebas. 5. Si el contenido del archivo file2.txt revisado no coincide con el error, márquelo como "bueno":

cat file2.txt
git bisect good
  1. Si el contenido del archivo file2.txt revisado coincide con el error, márquelo como "malo":
git bisect bad
  1. Una vez que hayas encontrado el commit con el error, restablece el proceso de git bisect:
git bisect reset

Ahora puedes examinar los cambios de código en el commit con el error para encontrar la fuente del error.

Este es el resultado de la prueba:

d22f46ba8c2d4e07d773c5126e9c803933eb5898 is the first bad commit
commit d22f46ba8c2d4e07d773c5126e9c803933eb5898
Author: Hang <huhuhang@users.noreply.github.com>
Date:   Wed Apr 26 14:16:25 2023 +0800

    Added file2.txt

 file2.txt | 1 +
 1 file changed, 1 insertion(+)
 create mode 100644 file2.txt

Resumen

En este laboratorio, aprendiste cómo usar el comando git bisect para encontrar manualmente el commit que introdujo un error en un repositorio de Git. Al marcar los commits como "buenos" o "malos", puedes realizar una búsqueda binaria a través del historial de commits para reducir rápidamente la fuente del problema. Esta técnica puede ser increíblemente útil al depurar bases de código complejas.