Estoy agregando esto al archivo .gitignore
.idea/*
pero de todos modos el estado es:
# modified: .gitignore
# modified: .idea/.generators
# modified: .idea/dovezu.iml
# modified: .idea/misc.xml
# modified: .idea/workspace.xml
Qué estoy haciendo mal ? Incluso agregué .idea / * al global ~ / .gitignore_global pero el estado de git, de todos modos me muestra:
# modified: .gitignore
# modified: .idea/.generators
# modified: .idea/dovezu.iml
# modified: .idea/misc.xml
# modified: .idea/workspace.xml
Respuestas:
Tu
.gitignore
está funcionando, pero aún sigue los archivos porque ya estaban en el índice.Para detener esto tienes que hacer:
git rm -r --cached .idea/
Cuando confirme, el
.idea/
directorio se eliminará de su repositorio git y las siguientes confirmaciones ignorarán el.idea/
directorio.PD: podría usar en
.idea/
lugar de.idea/*
ignorar un directorio. Puede encontrar más información sobre los patrones en la página del manual .gitignore .Cita útil de la
git-rm
página del manualfuente
.gitignore
y luego hacergit rm -cached
?commit
después de eliminar los archivos en caché? Eso realmente parece contrario a la intuición; Estos son archivos que NO quiero comprometer. Y no quiero que se eliminen del repositorio (solo quiero que ya no estén dando vueltas abarrotando migit status
). ¿O simplemente estoy realmente confundido?Para las personas que aún podrían estar buscando este problema, solo están mirando esta página.
Esto lo ayudará a eliminar los archivos de índice en caché y luego solo agregará los que necesita, incluidos los cambios en su
.gitignore
archivo.Aquí hay un poco más de información.
fuente
Las soluciones ofrecidas aquí y en otros lugares no funcionaron para mí, por lo que agregaré a la discusión para futuros lectores. Es cierto que todavía no entiendo completamente el procedimiento, pero finalmente he resuelto mi problema (similar) y quiero compartirlo.
Accidentalmente almacené en caché algunos directorios de documentos con varios cientos de archivos al trabajar con git en IntelliJ IDEA en Windows 10, y después de agregarlos
.gitignore
(y PROBABLEMENTE moverlos un poco) no pude eliminarlos de la Lista de cambios predeterminada.Primero cometí los cambios reales que había hecho, luego resolví esto, me llevó demasiado tiempo. He intentado
git rm -r --cached .
, pero siempre lo obtenerpath-spec
ERRORES, con diferentes variaciones de lapath-spec
, así como con el-f
y-r
banderas.git status
todavía mostraba los nombres de los archivos, así que intenté usar algunos de esos textualmentegit rm -cached
, pero no tuve suerte. Guardar y quitar los cambios parecía funcionar, pero se pusieron en cola de nuevo después de un tiempo (soy muy confuso en el plazo exacto). Finalmente he eliminado estas entradas para siempre usandoSupongo que esto es solo una BUENA IDEA cuando no tiene cambios organizados / almacenados en caché que realmente desea confirmar.
fuente
Simplemente agregue
git rm -r --cached <folder_name/file_name>
A veces, actualiza el archivo .gitignore después del comando de confirmación de los archivos. Entonces, los archivos se almacenan en caché en la memoria. Para eliminar los archivos en caché, use el comando anterior.
fuente
Git add.
Estado de Git // Comprobar archivo que se está modificando
// git reset HEAD --- reemplaza a qué archivo quieres ignorar
git reset HEAD .idea / <- Aquellos que quisieron excluir .idea de antes de confirmar // git comprueban el estado y el archivo de idea se habrá ido, ¡y ya está listo!
git commit -m ''
git push
fuente