tag - ignorar archivos git
¿Cómo puedo ignorar archivos con Git GUI? (6)
He creado un archivo .gitignore en la carpeta con la carpeta .git, pero sigo obteniendo los archivos que intento ignorar al realizar una nueva búsqueda 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? ¿Dónde se encuentra el archivo?
Cuando miro esto, creo que se olvidó de cometer su archivo de ignorar.
Debe asegurarse de que el archivo que todavía está viendo no esté actualmente confirmado o almacenado.
Si los elimina ( git rm
o git rm --cached
), y luego los agrega como un archivo privado, se ignorarán.
Lo estás localizando bien. .gitignore debe estar en la misma carpeta, donde se encuentra la carpeta .git. Archivo dentro también parece correcto. Sin embargo, no tengo una línea de comentarios en la parte superior ..
Ninguna de las soluciones en caché de .rm funcionó para mí. El archivo debe estar codificado como ASCII / ANSI. También cambié los finales de línea, pero eso solo no lo solucionó. No puedo encontrar la url que contenía estas instrucciones (¡perdón, póster original!), Pero me funcionó:
- Instala Notepad ++ si aún no lo tienes. Textpad también debería funcionar, pero uso Notepad ++.
- Abra su .gitignore con Notepad ++.
- Haga clic en Ver | Mostrar simbolo | Mostrar todos los personajes. Probablemente verá CR LF al final de cada línea.
- Haga una búsqueda y reemplace (ctrl + h), asegurándose de que la opción Extendido esté marcada (esquina inferior de la mano). Busque / r / ny reemplace con / n. Verás todos los cambios de CR LF a solo LF.
- Ahora haga clic en Codificación | Codificar en ANSI.
- Guarda el archivo y cierra.
Desde el símbolo del sistema en Windows o desde el símbolo del sistema de git, lo que quieras, cuando hagas el estado de git no debería mostrar archivos en .gitignore.
Probé varias formas de hacer que esto funcionara y finalmente fue bastante simple:
Debes cometer el .gitignore primero!
Además, si usa TortoiseGIT - GitEx Commit Tool, hay una opción para editar archivos ignorados.
Su archivo se ve bien. Solo asegúrate de que no tengas ningún tipo de espacio en blanco al principio de cada línea, me tomó 4 horas descubrir por qué mi .gitignore no estaba funcionando correctamente; la razón era, por supuesto, un problema de cut''n''paste en el que tenía una línea vertical de espacios al principio del archivo.
Debe tener cuidado con git commit -a
antes de asegurarse de que su archivo .gitignore realmente elimine todo lo que no desea. Marque cada archivo (o utilice comodines) con git add *.cpp *.h
o, como prefiero, desarrolle su .gitignore a medida que avanza, y siempre verifique con el git status
antes de comenzar.
Si desea volver a comprobar que su .gitignore realmente funciona, try
git ls-files --others -i --exclude-standard
Esto debería enumerar todos los archivos que actualmente está ignorando.
Para limpiar los archivos que ya has agregado (probablemente usando git add .
, Un error que todos cometemos al principio =]) puedes hacerlo como @VonC dijo: o ejecuta
git rm <filename>
o
git rm --cached <filename>
Otra opción para limpiar todos los archivos que ha agregado involuntariamente es limpiar totalmente su repositorio y luego volver a agregar todo de nuevo. Si desea borrar todo en el área de preparación, puede ejecutar
git --rm cached .
Pero recuerda no ejecutar git add .
Hasta que se asegure de que git status solo enumera los archivos que realmente desea en el repositorio.
Otra cosa muy útil con git es que no necesita rutas a archivos cuando se usan comodines. Si enumera sus archivos ignorados y ve que desea eliminar todos los *.suo
y *.log
, simplemente ejecute
git rm --cached *.suo *.log
y git se encarga de encontrar todos los archivos en su repositorio que coincidan con esa firma, sin importar en qué parte del árbol se encuentren.