¿Por qué git engaña con un command limpio?

usamos git en nuestro proyecto git versión 2.5.0 ¿Qué puede ser la causa de un comportamiento aún más confuso?

git@ip5server:~$ git status On branch master Untracked files: (use "git add <file>..." to include in what will be committed) app/addons/arliteks/ nothing added to commit but untracked files present (use "git add" to track) git@ip5server:~$ git clean -dn Would remove app/addons/arliteks/ Would remove design/ Would remove js/ Would remove var/langs/en/ 

¿Por qué no veo los 4 directorys en el primer command?

Git no rastrea directorys, solo files. Cuando vea un directory en la salida de git status , en realidad se refiere a los files dentro de ese directory. Un curioso efecto secundario es que un directory vacío nunca se mostrará en git status . Naturalmente, no se puede agregar un directory (bueno, se puede, pero se agregarán los files dentro del directory, no el directory en sí).

Pero cuando haces git clean -dn , la opción -d significa eliminar también los directorys no procesados . Es decir, directorys sin files rastreados dentro.

En resumen, su primer directory no está vacío. Los otros tres están vacíos.

git clean

Verifique la diferencia entre Capital X para bajar x:

 git clean -Xfd // capital X git clean -xfd // small x will remove all the 

Lea más acerca de este command limpio

-x (minúsculas)

No use las reglas de ignorar estándar leídas de .gitignore … pero todavía use las reglas de ignorar que se dan con las opciones -e .

Esto permite eliminar todos los files sin seguimiento, incluidos los productos de compilation.

Esto se puede usar (posiblemente junto con el reinicio de git) para crear un directory de trabajo prístino para probar una compilation limpia.

-X (mayúscula)

Elimine solo los files ignorados por Git.
Esto puede ser útil para rebuild todo desde cero, pero mantener files creados manualmente.