Estoy tratando de usar el .gitignorearchivo para excluir templates.jsubicado en la public/app/carpeta. Mi .gitignorearchivo se ve así:
/vendor
/node_modules
composer.phar
composer.lock
.DS_Store
templates.js
Pero cuando reviso Git Gui, el templates.jsarchivo todavía se muestra en él. ¿Cómo puedo excluir específicamente un archivo usando .gitignore?

.gitignoresolo ignora el contenido que se agregará..gitignorecorrecta?Respuestas:
En contraste con lo que podría sugerir el nombre "ignorar".
.gitignoresolo se consulta cuando susgit addarchivos: en otras palabras, un archivo ya agregado al (índice del) repositorio no se excluirá en función del.gitignore.Primero, es mejor que modifique el
.gitignorearchivo de modo que ya no se agregue. Agregue la siguiente línea al.gitignorearchivo:A continuación, debe excluir el archivo del repositorio. Probablemente no desee eliminar el archivo de su sistema de archivos, esto se puede hacer con:
La
--cachedbandera garantiza que el archivo no se eliminará de su sistema de archivos. (Si no es importante, puede usargit rm public/app/template.js, pero esto eliminará el archivo ).Antecedentes
El motivo por el
.gitignoreque no se utiliza de forma proactiva es que a veces es posible que desee anular el.gitignore. Digamos, por ejemplo, que no desea rastrear*.logarchivos, puede especificar*.logen el.gitignore. Pero si hay uno específico que desea rastrear, puede agregarlogit add -f some.log. La-fbandera obligagita agregar el archivo.fuente
Una vez que un archivo ha sido 'agregado' al repositorio de git una vez, continuará siendo rastreado independientemente de si aparece o no en el archivo .gitignore.
Supongo que agregó el archivo template.js anteriormente, en cuyo caso continuará con el seguimiento de los cambios, hasta que lo elimine del repositorio. Una vez que el archivo se ha eliminado del repositorio, se ignorará correctamente a través del archivo .gitignore.
La forma de eliminar un archivo de un repositorio de git (línea de comandos) sin eliminarlo es
Luego, una vez que hagas eso e intentes comprometerte con el archivo en tu gitignore, no lo hará.
Tenga en cuenta que si agrega específicamente un archivo que tiene en su gitignore, su adición manual del archivo anulará el gitignore.
fuente
Si ya está rastreando un archivo (
git adden él ygit commit),.gitignoreno ayudará.Creo que lo que quieres es dejar de rastrear un archivo y luego usarlo
.gitignorepara excluirlo. Para dejar de rastrear un archivo pero conservarlo, use:git rm --cached <file>fuente
En este caso, puede dejar de rastrear
templates.jsconComo han explicado otros,
.gitignoresolo ignora el contenido que se agregará. Por ejemplo, si usa con frecuenciagit add .y tienetemplates.jsen su.gitignore, entonces git no lo agregará.fuente