texto terminacion quitar premium home formato extension como cambiar archivos archivo git file-extension

git - terminacion - como cambiar la extension de un archivo en windows 7 home premium



¿Qué opción se debe usar para restringir el git diff a un conjunto determinado de extensiones de archivo? (7)

Argumento de línea de comando para la extensión.

git diff *.py

En la alternativa, puede conectar la git diff en git diff :

find . -name ''*.py'' -type f | git diff --

¿Existe una opción para restringir git diff a un conjunto determinado de extensiones de archivos?


Ninguna de las respuestas anteriores parece funcionar para mí en git bash en Windows. No estoy seguro de si es una versión (estoy usando 1.8.4) o algo de Windows / bash; también, en mi caso, quería diferenciar dos ramas donde cada rama tenía archivos adicionales que no estaban presentes en la otra rama (por lo tanto, los basados ​​en ''encontrar'' son negligentes).

De todos modos, esto funcionó para mí (en mi ejemplo, buscando una diferencia entre los archivos de Python):

git diff branch1 branch2 -- `git diff --summary branch1 branch2 | egrep ''/.py$'' | cut -d '' '' -f 5`


Para patrones de archivos simples, esto parece funcionar:

$ git ls-files -zm ''*.txt'' | xargs --null git diff

El espacio en blanco es seguro, y también puedes tener múltiples extensiones:

$ git ls-files -zm ''*.h|*.c|*.cpp'' | xargs --null git diff


Sí, si te aseguras de que git expanda un glob en lugar de tu shell, entonces coincidirá en cualquier nivel, por lo que algo como esto (las comillas son importantes) debería funcionar bien.

git diff -- ''*.c'' ''*.h''


Terminé con esto:

commit=<the_commit_hash_goes_here> && git diff --name-only $commit | grep -i Test | egrep -v ''/.sql$'' | xargs git diff $commit --

Esto muestra diffs para la confirmación especificada solo si el nombre de archivo contiene la palabra ''test'' (no distingue entre mayúsculas y minúsculas) y no termina con .sql ; modifique la canalización según sea necesario para su caso.


Utilice el globstar de su caparazón (que realiza una búsqueda recursiva) 1 , 2 :

shopt -s globstar git diff -- *.py **/*.py

o use find:

find -name ''*.py'' -print0 | xargs -0 git diff --

Ambos son nombres especiales y prueba de espacio en blanco. Aunque es posible que desee filtrar los directorios que tengan la extensión .py :)

1 Me gusta hacer git diff -- {.,**}/*.py general

2 Cuando globstar está habilitado, git diff -- **/*.py ./*.py ya incluye ./*.py . En la página de manual de Bash: ''Si es seguido por un /, dos * adyacentes coincidirán solo con directorios y subdirectorios''.


git diff solo mostrará las diferencias en los archivos no registrados.

Encontré esta pregunta porque quería excluir archivos .info de git diff . Lo logré escenificándolo con git add *.info , que reduce los archivos que quedan.