Puede utilizar
$ git rm --cached ./whatever1.txt
después de que algo ya está bajo control de versiones.
De hecho, si usted tiene "whatever1.txt" bajo control de versiones y desea eliminarlo de git, pero deje su árbol de trabajar sin obstáculos, a continuación, sólo hacer esto:
$ git rm --cached ./whatever1.txt
$ echo /whatever1.txt >> ${PROJECT_ROOT}/.gitignore
$ git status # this will now show ./whatever1 as "deleted" (from git, not your working tree, and will show gitignore as modified or created)
$ git commit -a
Y eso es todo.
Sólo utilice
$ git rm
cuando se quiere eliminar el archivo de tanto el árbol de trabajo Y el repositorio git.
CAVEAT: El escenario probable que usaría es para eliminar archivos IDE de git. En este ejemplo "whatever1" representa su archivo IDE que está eliminando. Si está trabajando en un proyecto con varias personas y lleva este conjunto de cambios a un repositorio compartido, sus archivos "./whatever1" SERÁN ELIMINADOS cuando retiren este conjunto de cambios. La cosa fácil de hacer desde aquí por la gente en el extremo receptor es:
$ git checkout 1215ef -- ./file-you-want-to-restore ./another-file ./another-etc
(donde 1215ef representa la última confirmación antes de la eliminación)
Esto tiene el efecto de restaurar los archivos que estaban presentes en su último compromiso antes del tirón.Después de que hayan hecho esto, esos archivos estarán seguros y no se mostrarán como b/c no comprometidos, caerán bajo la exclusión de gitignore.
¡Buena suerte!
¿Qué quiere decir "ir a confirmar mis cambios"? Los archivos no ignorados no agregados solo aparecen con el "estado de git" y tal –
Puede ser una pregunta tonta, pero ¿alguna vez ha cometido .perspectivev3 anteriormente o lo ha agregado al índice antes de actualizar su archivo gitignore? –