Probé lo que sugería una pregunta previa de Stackoverflow sobre cómo ignorar files: Ignorar los files que ya han sido enviados a un repository de Git
lo que se sugirió:
git rm -r --cached .
el command que estoy usando:
git rm -r --cached application/config/config.php //i only want to ignore this one file
Desafortunadamente, cuando lo hago, git add.
y luego git commit
mi config.php se elimina del repository y no solo se ignora.
Tengo un file .gitignore en mi directory raíz y contiene el siguiente elemento de la list:
application/config/config.php
¿Podría alguien ayudarme a entender por qué este file config.php se está borrando y simplemente no se ignora?
esto es lo que muestra mi estado de git:
$ git status # On branch master # Changes not staged for commit: # (use "git add <file>..." to update what will be committed) # (use "git checkout -- <file>..." to discard changes in working directory) # # modified: .gitignore # modified: application/config/config.php # no changes added to commit (use "git add" and/or "git commit -a")
gracias,
tim
Está siendo eliminado del repository porque lo eliminaste. git rm
es eliminar el file y el --cached
mantiene en su directory de trabajo.
Puedes hacer git update-index --assume-unchanged <filename>
si quieres hacerlo para que nunca note cambios en un file, pero deja la versión anterior en tu repository. Leyendo más aquí: http://gitready.com/intermediate/2009/02/18/temporarily-ignoring-files.html