tipos tag remove practices etiquetas crear commits commands best git status

tag - git: listar solo archivos nuevos



git tags best practices (6)

En lugar de analizar la salida del "estado de git", probablemente sea más elegante de usar

git ls-files -o --exclude-standard

Al igual que con el git status , ls-files producirá resultados relativos a su directorio de trabajo actual.

Es posible que desee incluir la --full-name :

git ls-files -o --exclude-standard --full-name

Cuando hago un git status obtengo una lista de archivos con el prefijo new file: ¿Cómo puedo obtener sólo esta lista? Quiero procesar estos archivos en un simple bucle en un pequeño script de shell.


Lista de archivos nuevos o para obtener archivos que se agregarán a git, se puede obtener usando git status y el comando grep como git status -s | grep ?? git status -s | grep ??

root@user-ubuntu:~/project-repo-directory# git status -s | grep ?? ?? src/.../file1.js ?? src/.../file2.js ?? src/.../file3.js ....


No uses grep para analizar la salida de git. Es casi seguro que Git tiene las cosas que buscas integradas (excepto si vas por cosas realmente avanzadas).
Puedes usar git diff para mostrar los cambios. --name-only muestra los nombres de archivos. --diff-filter=A enumera solo los archivos agregados.
Si desea ver los archivos nuevos que ya ha agregado al uso del índice --cached , de lo contrario --cached . Para ver ambos difieren a HEAD .
Los comandos se ven así:

git diff --name-only --diff-filter=A --cached # All new files in the index git diff --name-only --diff-filter=A # All files that are not staged git diff --name-only --diff-filter=A HEAD # All new files not yet committed


Puedes usar git status --short para obtener la lista de archivos.


Yo usaría algo como git status --porcelain | grep "^A" | cut -c 4- git status --porcelain | grep "^A" | cut -c 4-


git status | grep "new file:" | cut -c 14- git status | grep "modified:" | cut -c 14-