En la raíz de mi proyecto tengo una foocarpeta. Dentro de la foocarpeta tengo una barcarpeta. Me gustaría ignorar todos los cambios en todos los archivos dentro de mi barcarpeta. Tengo esto en mi gitignore:
/foo/bar
La carpeta está marcada: existe y tiene que ignorar los archivos. gitignorees committed Sin embargo, tengo un archivo donde hago una moción y está dentro de mi barcarpeta. Cuando escribo
git status
dentro de mi git bashveo el archivo que debería haber sido ignorado. ¿Cuál podría ser la razón y cómo puedo ignorar con éxito todos los archivos dentro de mi carpeta de barras?
Tenga en cuenta que los archivos se ignoraron previamente con la misma línea, pero tuve que eliminar temporalmente esa línea a commitalgo en el servidor. Después del commit, puse de nuevo la línea en el gitignore. Esto fue hace un tiempo, pero ahora he observado que los archivos estarán en git status. Esperaría poder modificar los archivos ignorados sin que aparezcan en el git status.

git add -f ignored-fileagregará un archivo incluso si está en su ignora.git status foo/bar/file-that-should-be-ignoredda?git log foo/bar/file-that-should-be-ignored. Si no debería ser parte del repositorio, debe eliminarlogit rm --cached foo/bar/file-that-should-be-ignoredy luego confirmarlo como sugiere Reck a continuación (aunque lo haría en el archivo, no en toda la carpeta). Esto (a) eliminará el archivo de Git, (b) mantendrá el archivo en su copia local y (c) hará que el archivo se elimine cuando otrosfetchopullel nuevo commit.Respuestas:
¿Supongo que esta carpeta ya se ha registrado en git?
Corre
git rm -r --cached <folder>y comprueba de nuevo.fuente
git update-index --assume-unchanged <folder>¿quizás?Para mí, la respuesta aceptada era parte de la solución, no toda la solución. Tal vez, los otros pasos que estoy a punto de publicar fueron obvios, pero los eché de menos primero. Estos son los pasos que tomé para asegurarme de que mi
.gitignorearchivo ignorara la carpeta que quería que ignorara:git rm -r --cached .(que elimina todo del índice de git para actualizar su repositorio de git)git add .(para agregar todo de nuevo al repositorio)git commit -m ".gitignore Fixed"Puede encontrar el enlace al artículo desde donde encontré la solución aquí .
fuente
Estaba teniendo este problema y me di cuenta de que git estaba ignorando los archivos / carpetas correctamente, pero mi editor de código (Visual Studio Code) estaba defectuoso y no los "atenuaba" correctamente en la barra lateral de la interfaz de usuario. Reinicié VSCode y estaban atenuados como se esperaba.
fuente
Como una adición a la respuesta aceptada
Cuando hago eso, el terminal muestra un montón de
rmarchivos en ese directorio. Entonces, para evitar otra confirmación que podría afectar innecesariamente el control remoto, hice:Después de eso, no dijo nada que confirmar y cuando modifico los archivos dentro
/foo/bar/y hago una,git statussigo recibiendonothing to commit.fuente