Git agrega solo todos los files nuevos, no los files modificados

¿Hay alguna forma de agregar solo files nuevos y no agregar files modificados con git? Es decir, los files que se enumeran como sin seguimiento con el estado de git.

Además de por supuesto agregar cada file por separado.

No es absolutamente necesario hacer esto en mi caso, la verdadera pregunta para mí se responde aquí: ¿Cómo hacer que git-diff y git log ignoren los files nuevos y eliminados?

Es decir, no muestres la diferencia en los files nuevos, así que te lo pido más porque no pude encontrar una respuesta en ningún lado.

Tal vez

git add $(git ls-files -o --exclude-standard) 

git ls-files permite listr los files administrados por git, filtrados por algunas opciones. -o en este caso lo filtra solo para mostrar "otros (es decir, files no rastreados)"

La sentencia $(...) pasa el valor de retorno de ese command como un argumento para git add .

Puedes usar el modo corto del estado de git (ver man git-status (1) ), que da el siguiente resultado:

Sin modo corto:

 $ git status ... # Untracked files: # (use "git add <file>..." to include in what will be committed) # # README # application/libraries/Membres_exception.php no changes added to commit (use "git add" and/or "git commit -a") 

Con modo corto:

 $ git status -s M application/models/membre_model.php ?? README ?? application/libraries/Membres_exception.php 

Luego, usando grep, awk y xarg, ¿puede agregar los files donde está la primera columna ?? .

 $ git status -s | grep '??' | awk '{ print $2 }' | xargs git add 

y ver que funcionó:

 $ git status # On branch new # Changes to be committed: # (use "git reset HEAD <file>..." to unstage) # # new file: README # new file: application/libraries/Membres_exception.php