2010-07-05 8 views

Respuesta

27

tiene varias opciones aquí:

  1. Ignorando específica compromete

    git bisect contiene funcionalidad de confirmaciones saltarse. Puede especificar las confirmaciones, las etiquetas, los intervalos que usted no desea probar con

    git bisect skip 0dae5f ff049ab ... 
    

    Sólo hacer esto antes de git bisect run, y debe saltar lo que ha especificado.

  2. carpetas Especificación con fuentes rotas

    También puede reducir compromete bisect pruebas mediante la especificación de las carpetas que se debe buscar problemas en. Esto se hace al principio de bisect proceso por el supllying argumentos adicionales a git bisect start (cita del manual estándar):

    git bisect start -- arch/i386 include/asm-i386 
    

    Bisecar sólo tendrá en cuenta confirmaciones que tocan las carpetas especificadas.


Si desea recopilar automáticamente se compromete a que tocan ciertos archivos o carpetas, puede utilizar git log para eso. Por ejemplo, el siguiente comando dará comprometerse nombres que modifican los archivos en ciertas carpetas:

git log --pretty=format:%H tests/ docs/ 

Y usted puede suministrar el resultado de git bisect skip con el uso de las capacidades de Shell:

git bisect skip `git log --pretty=format:%H tests/ docs/` 
+0

que sabía de la primera dos opciones ya, pero omitir manualmente los commits fue demasiado trabajo (hay cientos de ellos) y tampoco sé qué carpetas contienen las fuentes rotas. ¡La sugerencia de usar 'git log' es genial! Lamentablemente, estoy en Windows, por lo que las capacidades de shell no me funcionarán. Sin embargo, puedo construir fácilmente una línea de comando 'git bisect skip' apropiada a mano. ¡Gracias! –

+1

@FrerichRaabe: ¿Qué, tu idiota no vino con una copia de bash? – SamB

+3

hmmm agregando 2 carpetas a 'git bisect start' solo mira las confirmaciones que tocan AMBAS carpetas. ¿Hay alguna manera de ver los commits que tocan CUALQUIER carpeta? – EoghanM

Cuestiones relacionadas