usar una tag omitir example crear como comando carpeta archivo git gitignore

una - gitignore example



.gitignore excluir archivo especĂ­fico (4)

En contraste con lo que el nombre "ignorar" podría sugerir. .gitignore solo se consulta cuando git add archivos: en otras palabras, un archivo ya agregado al (índice del) repositorio no se excluirá en función de .gitignore .

Primero es mejor modificar el .gitignore para que el archivo ya no se agregue. Agregue la siguiente línea al archivo .gitignore :

public/app/template.js

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:

git rm --cached public/app/template.js

El indicador --cached asegura que el archivo no se eliminará de su sistema de archivos. (Si no es importante, puede usar git rm public/app/template.js , pero esto eliminará el archivo ).

Antecedentes

La razón por la que .gitignore no se usa de manera proactiva es porque a veces es posible que desee anular el .gitignore . Digamos, por ejemplo, que no desea rastrear archivos *.log , puede especificar *.log en .gitignore . Pero si hay uno específico que desea rastrear, puede agregar git add -f some.log . La bandera -f obliga a git a agregar el archivo.

Estoy tratando de usar el archivo .gitignore para excluir templates.js ubicado en public/app/ folder. Mi archivo .gitignore ve así:

/vendor /node_modules composer.phar composer.lock .DS_Store templates.js

Pero cuando reviso el Git Gui, el archivo templates.js todavía se muestra en él. ¿Cómo puedo excluir específicamente un archivo usando .gitignore ?


En este caso, puede detener el seguimiento de templates.js con

git rm --cached public/app/templates.js

Como otros han explicado, .gitignore solo ignora el contenido que se agregará. Por ejemplo, si usa git add . frecuencia git add . y tenga templates.js en su .gitignore , entonces git no lo agregará.


Si ya está rastreando un archivo ( git add on y git commit ), .gitignore no lo ayudará.

Creo que lo que quieres es dejar de rastrear un archivo y luego usar .gitignore para excluirlo. Para dejar de rastrear un archivo pero conservar el archivo, use:

git rm --cached <file>


Una vez que un archivo ha sido ''agregado'' al repositorio de git una vez, continuará siendo rastreado independientemente de si está o no en la lista del archivo .gitignore.

Supongo que agregó el archivo template.js anteriormente, en cuyo caso continuará teniendo cambios rastreados, 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 git (línea de comando) sin eliminarlo es

git rm --cached FILENAME

Luego, una vez que haga eso e intente comprometerse con el archivo en su gitignore, no lo hará.

Tenga en cuenta que si agrega específicamente un archivo que tiene en su gitignore, la adición manual del archivo anulará el gitignore.