¿Por qué Git no ignora mi archivo especificado?
Agregué la siguiente línea a .gitignore
:
sites/default/settings.php
pero cuando escribo git status
, muestra el archivo como un archivo no preparado.
¿Cuál es el problema? Todos los demás patrones funcionan bien.
Asegúrese de que .gitignore
esté en la raíz del directorio de trabajo y, en ese directorio, ejecute git status
y copie la ruta al archivo desde la salida de estado y péguela en el archivo .gitignore
.
Si eso no funciona, entonces es probable que Git ya esté rastreando su archivo. Puede confirmar esto a través de la salida de git status
. Si el archivo no aparece en la sección "Archivos sin seguimiento" , Git ya lo ha rastreado e ignorará la regla del .gitignore
archivo.
La razón para ignorar archivos en Git es para que no se agreguen al repositorio. Si anteriormente agregó un archivo que desea ignorar, Git lo rastreará y se omitirán las reglas de ignorar que coincidan con él. Git hace esto porque el archivo ya forma parte del repositorio.
Para ignorar realmente el archivo, debe cancelar su seguimiento y eliminarlo del repositorio. Puedes hacerlo usando git rm --cached sites/default/settings.php
. Esto elimina el archivo del repositorio sin eliminarlo físicamente (eso es lo que --cached
hace). Después de realizar ese cambio, el archivo se eliminará del repositorio e ignorarlo debería funcionar correctamente.
Como lo señala @display-name a continuación , a veces es necesario hacer un git add .
después git rm --cached
para reconstruir correctamente el índice.
Me encuentro con esto, es una pregunta antigua, pero quiero que se rastree ese archivo, pero no en ciertas copias de trabajo, para hacerlo puedes ejecutar
git update-index --assume-unchanged sites/default/settings.php
Para desactivar la bandera:
git update-index --no-assume-unchanged sites/default/settings.php