2012-03-30 16 views
26

Digamos que tengo 7 confirmaciones antes del repositorio de origen/maestro. Me gustaría crear un parche que incluya en el parche los archivos específicos que se cambiaron, no todos los archivos. O el equivalente excluye archivos específicos del parche que se modificaron. ¿Cómo puedo lograr eso?Crear un parche que incluya archivos específicos en git

Respuesta

36

Puede restringir la salida de git diff enumerando rutas al final del comando (después de -- para evitar posibles conflictos entre nombres de ruta y nombres de ramas). Por ejemplo, se puede hacer lo siguiente:

git diff origin/master HEAD -- app/models/region.rb doc/ > changes.patch 

... para generar un parche que sólo muestra las diferencias dentro de un determinado archivo y un directorio particular.

19

Puede incluir archivos en los parches con:

git format-patch <rev> <files...> 

Ejemplo

git format-patch HEAD^^^ Makefile 

le dará tres archivos 0001- [cometer] ... 0003- [cometer] única que contiene el Makefile .

+2

¿Realmente funciona? La documentación de formato de parche no dice que puede dar archivos específicos como parámetros. –

+1

Me funcionó, aunque no he encontrado ninguna referencia de esa característica en los documentos. –

+0

Tampoco he podido encontrar la documentación de esta función. ¡Tenía la esperanza de comprender mejor las opciones de uso en un script! –

Cuestiones relacionadas