Como ya se ha dicho, para excluir de estado sólo tiene que utilizar:
git status -uno # must be "-uno" , not "-u no"
Si por el contrario desea ignorar permanentemente los archivos actualmente sin seguimiento se puede, a partir la raíz de su proyecto, inicie:
git status --porcelain | grep '^??' | cut -c4- >> .gitignore
Cada llamada subsiguiente al git status
ignorará explícitamente esos archivos.
ACTUALIZACIÓN: el comando anterior tiene un inconveniente menor: si no tiene un archivo .gitignore
sin embargo, su gitignore ignorará sí mismo! Esto sucede porque el archivo .gitignore
se crea antes de que se ejecute git status --porcelain
. Así que si usted no tiene un archivo .gitignore
sin embargo, yo recomendaría el uso de:
echo "$(git status --porcelain | grep '^??' | cut -c4-)" > .gitignore
Esto crea un subnivel que completa antes se crea el archivo .gitignore
.
COMANDO EXPLICACIÓN como estoy recibiendo una gran cantidad de votos (¡gracias!) Creo que será mejor que explique el comando un poco:
git status --porcelain
se utiliza en lugar de git status --short
PORQUE manual estados " Proporcione la salida en un formato fácil de analizar para las secuencias de comandos. Esto es similar a la salida corta, pero se mantendrá estable en todas las versiones de git e independientemente de la configuración del usuario."Así que tenemos tanto el parseability y estabilidad;
grep '^??'
filtros sólo las líneas que comienzan con ??
, que, de acuerdo con el git status manual, corresponden a los archivos sin seguimiento;
cut -c4-
elimina los 3 primeros caracteres de cada línea, lo que da nosotros sólo la ruta relativa al archivo sin seguimiento;
- los
|
símbolos son pipes, que pasan a la salida de la orden anterior a la entrada de la siguiente orden;
- la
>>
y >
símbolos son redirect operators, que añada la salida de la pr evious comando a un archivo o sobrescribe/crea un nuevo archivo, respectivamente.
otra variante para aquellos que prefieren using sed
en lugar de grep
y cut
, aquí hay otra manera:
git status --porcelain | sed -n -e 's/^?? //p' >> .gitignore
Uso indicador '-uno'. – nhahtdh
posible duplicado de [¿Hay alguna manera de hacer que Git no muestre los archivos no rastreados?] (Http://stackoverflow.com/questions/2774416/is-there-a-way-to-get-git-not-to -show-the-untracked-files) – random
O tal vez quiera agregar una sola * a su archivo .gitignore. :) – vilicvane