2009-12-15 32 views
60
  1. Buscando un comando como ls -R o dir/s puede enumerar todos los archivos en un commit/rama.
  2. ¿Hay algún comando para comparar dos archivos de una rama diferente? Gracias! ¡mucho!
+0

Por qué la etiqueta 'git-svn'? –

Respuesta

99
  1. git ls-tree -r --name-only <commit> (donde en lugar de <commit> no puede haber <branch>).
    Es posible que desee utilizar también -t opción que enumera los subdirectorios antes de descender en ellos
  2. git diff <branchA>:<fileA> <branchB>:<fileB>,
    o si desea comparar el mismo archivo git diff <branchA> <branchB> -- <file>
+1

Si desea enumerar un directorio específico, puede agregar dos puntos seguidos por la ruta a la rama, es decir: git ls-tree -r - maestro de solo nombre: directorio/ruta/nombre –

15

Para comparar dos archivos de diferentes ramas:

git diff branch_1..branch_2 file.txt 

para listar todos los archivos en un objeto de árbol:

git ls-tree -r branch 
12

para listar todos los archivos añadidos en la nueva rama

git diff --name-only branch1 master 
+3

Esto enumera solo los nombres de todos archivos que han cambiado, no solo los archivos nuevos. – Meredith

Cuestiones relacionadas