Cómo enumerar solo los archivos recién agregados entre dos ramas

1 minuto de lectura

avatar de usuario
fili majernik

¿Cómo puedo enumerar archivos recién creados (agregados) entre dos ramas? Puedo enumerar todos los archivos que se han cambiado con:

git diff --color --name-only branch1..branch2

Pero eso también contiene archivos, que simplemente cambiaron su contenido, no necesariamente archivos nuevos. ¿Hay algún comando de Git para esto, o tengo que verificar cada rama y comparar los archivos, por ejemplo, con bash?

  • Tenga en cuenta que la notación A..B para git diff es una característica conveniente (para copiar y pegar), ya que diff opera en puntos finales y no en rangos. A..B es solo otro nombre para A B.

    – Jakub Narębski

    7 oct 2013 a las 11:54

Puedes usar --diff-filter opción de diferencia de git:

git diff --color --name-only --diff-filter=A branch1 branch2

avatar de usuario
michas

solo reemplaza --name-only con --name-status. De esta forma, git mostrará si el archivo se agregó, eliminó o simplemente se modificó.

Si solo está interesado en los archivos nuevos (= agregados), simplemente puede buscar ^A:

git diff --name-status branch1..branch2 | grep ^A

Use este comando para buscar nuevos archivos rastreados/agregados

git diff --color --name-status staging | grep ^A

Usaría … para que no vea los archivos que se eliminaron en una rama para que aparezcan como agregados en la otra:

git diff --name-only --diff-filter=A branch1...branch2

¿Ha sido útil esta solución?