37 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			37 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
---
 | 
						|
title: Git Bisect
 | 
						|
localeTitle: Git Bisect
 | 
						|
---
 | 
						|
## Git Bisect
 | 
						|
 | 
						|
El comando `git bisect` ayuda a encontrar commits que agregaron cambios específicos en su proyecto. Esto es particularmente útil si necesita encontrar qué cambio generó un error.
 | 
						|
 | 
						|
Este comando funciona al proporcionarle una confirmación "incorrecta" que incluye el error y una confirmación "buena" de antes de que se generase el bug. A través de la búsqueda binaria, `git bisect` seleccionará confirmaciones y le pedirá que identifique si la confirmación es "buena" o "mala". Este proceso continúa hasta que el comando es capaz de encontrar la confirmación exacta que introdujo el cambio.
 | 
						|
 | 
						|
### Comandos de Bisect
 | 
						|
 | 
						|
Para iniciar una sesión bisect, le dirá a git que comience una sesión bisect, identifique una versión "mala" e identifique una versión "buena". Suponiendo que la confirmación actual está rota pero la confirmación `4b60707` es buena, ejecutará lo siguiente:
 | 
						|
 | 
						|
```shell
 | 
						|
git bisect start 
 | 
						|
 git bisect bad 
 | 
						|
 git bisect good 4b60707 
 | 
						|
```
 | 
						|
 | 
						|
Git verificará un commit entre las versiones, "buena" y "mala", y dará como resultado algo como lo siguiente:
 | 
						|
```
 | 
						|
Bisecting: 2 revisions left to test after this (roughly 2 steps) 
 | 
						|
```
 | 
						|
 | 
						|
Ahora debe indicar a git si el commit actual funciona con `git bisect good` o si el commit actual es malo con `git bisect bad` . Este proceso se repetirá hasta que el comando pueda imprimir el primer commit erroneo.
 | 
						|
 | 
						|
Cuando haya terminado, debe limpiar la sesión bisect. Esto restablecerá su HEAD a lo que version anterior al comienzo de la sesión bisect:
 | 
						|
 | 
						|
```shell
 | 
						|
git bisect reset 
 | 
						|
```
 | 
						|
 | 
						|
### Otros recursos
 | 
						|
 | 
						|
*   [Git bisect documentacion](https://git-scm.com/docs/git-bisect)
 |