Pregunta

He creado un archivo .gitignore en la carpeta con la carpeta .git, pero sigo teniendo los archivos que estoy tratando de ignorar cuando se hace un re-escaneo del repositorio.

Este es el contenido del archivo.

# Ignored files
*.suo 
*.user 
bin 
obj 
*.pdb 
*.cache 
*_svn 
*.svn 
*.suo 
*.user 
*.build-res 
TestResults 
_ReSharper*

¿Qué estoy haciendo mal? donde se supone que debe estar ubicado el archivo?

¿Fue útil?

Solución

Es necesario asegurarse de que el archivo que todavía está viendo actualmente no están comprometidos o por etapas.

Si se quita ellos (git rm o git rm --cached), y luego añadirlos como archivo privado, entonces se tendrá en cuenta.

Otros consejos

Su archivo se ve bien. Sólo asegúrese de que usted no tiene ningún tipo de espacios en blanco al principio de cada línea, me tomó 4 horas para encontrar qué mi .gitignore no estaba funcionando correctamente; la razón era, por supuesto, una cuestión de Cortar y Pegar donde tenía una línea vertical de espacios al principio del archivo.

Se debe tener cuidado con git commit -a antes de asegurarse de que su archivo .gitignore realmente realiza la limpieza de todo lo que no desea. O bien marcar cada archivo (o utilizar comodines) con git add *.cpp *.h o - como yo prefiero -. Desarrollar su .gitignore a medida que avanza, y siempre consultar con git status antes de comprometerse

Si desea una doble comprobación de que su .gitignore realmente funciona, intente

git ls-files --others -i --exclude-standard

Esto debe listar todos los archivos que están haciendo caso omiso actualmente.

Para limpiar los archivos ya agregados (probablemente utilizando git add ., un error que todos hacemos en el principio =]) que puede hacer como @ VonC dije: ya sea de ejecución

git rm <filename>

o

git rm --cached <filename>

Otra opción de limpiar todos los archivos que ha añadido sin intención es limpiar totalmente su repositorio, y luego volver a agregar todo de nuevo. Si desea limpiar todo en el área de ensayo, puede ejecutar

git --rm cached .

Sin embargo, no realice git add . Hasta que no se haya asegurado de que git status sólo muestra los archivos que realmente desea en el repositorio.

Otra cosa muy útil con git es que no necesita rutas a los archivos al utilizar comodines. Si usted enumera sus ficheros ignorados y ves que desea eliminar todos los archivos *.suo y *.log, basta con ejecutar

git rm --cached *.suo *.log

git y se encarga de la búsqueda de todos los archivos en su repositorio que los partidos de esa firma, no importa en qué parte del árbol que son.

He intentado varias formas de conseguir que esto funcione y que finalmente fue bastante simple:

Usted debe comprometerse la primera .gitignore!

Además, si se utiliza TortoiseGit -. Gitex Commit herramienta, no es una opción para editar archivos ignorados

Se está localizando bien. .gitignore debe estar en la misma carpeta, donde se encuentra la carpeta .git. en el interior del archivo también parece correcto. Sin embargo, no tengo una línea de comentario en la parte superior ..

Cuando miro esto, yo pensaría que se olvidó de cometer el archivo de ignorar.

Ninguna de las soluciones --rm caché trabajó para mí. Las necesidades de archivo para ser codificados como ASCII / ANSI. He cambiado los finales de línea también, pero que por sí sola no ha solucionado el problema. No puedo encontrar la dirección URL que tenía estas instrucciones (lo siento, cartel original!) Pero esto funcionó para mí:

  1. Instalar Notepad ++ si no lo tiene ya. Textpad debe También el trabajo, pero yo utilizo Notepad ++.
  2. Abra su .gitignore con Notepad ++.
  3. Haga clic en Ver | Mostrar símbolo | Mostrar todos los caracteres. Es probable que vea CR LF al final de cada línea.
  4. Haga una búsqueda y cambiar (Ctrl + H), asegurándose de que se comprueba extendido (más bajos permiten esquina). Buscar \ r \ n y reemplazar con \ n. Vas a ver todo el cambio CR LF a LF solo.
  5. Ahora haga clic en Codificación | Codificar en ANSI.
  6. Guardar el archivo y salir.

Desde el símbolo del sistema en Windows o el comando git rápida, lo que usted quiera, cuando lo hace git status no debe mostrar archivos en .gitignore.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top