working usar not node_modules ignoring example como comando git version-control atlassian-sourcetree

usar - gitignore not ignoring file



.gitignore no ignora los archivos (8)

Como quieres:

  • mantener .htaccess en el repositorio de Git (no git rm )
  • tener datos locales sensibles en ella

use un controlador de filtro que:

  • Durante la fase de pago, complete el .htaccess con datos privados.
  • durante la fase de confirmación, limpie el .htaccess de todos los datos confidenciales

luego puede versionar un archivo encriptado que su script de manchas:

  • ser el único para descifrar
  • utilizar para completar el archivo .htaccess clásico (y empujado / jalado).

Puede versionar los datos sensibles cifrados en una rama especial que no va a insertar.
Incluso si presionara ese archivo de alguna manera, el daño sería limitado, ya que solo su estación de trabajo tiene la clave privada necesaria para descifrar dicho archivo.

Mi archivo .gitignore se ignora y los archivos que deben ignorarse siguen siendo visibles.

user@host ~/workdir % git status # On branch master # Changed but not updated: # (use "git add <file>..." to update what will be committed) # (use "git checkout -- <file>..." to discard changes in working directory) # # modified: .htaccess # modified: application/controllers/statistics.php # no changes added to commit (use "git add" and/or "git commit -a") user@host ~/workdir % cat .gitignore .htaccess application/config/config.php application/config/database.php user@host ~/workdir %

Los archivos están en el control de versión, pero con cambios razonables no quiero presionar. git rm ... no es una opción porque los archivos deben estar en el controlador de versión (con otras configuraciones en los archivos). Simplemente no quiero empujar mis cambios en estos archivos.


Este me molestó durante días. El archivo .htaccess ya está bajo el control de versiones y se ha modificado.


Hago esto todo el tiempo. Comienzo con los archivos de configuración en mi repositorio y luego decido que no los quiero allí.

Puedes eliminar algo de tu repositorio usando

git rm --cached <<filename>>


Ignorar archivos en git no significa que no los empujes . Significa que no controlarás la versión . Si no desea impulsar, sugiero que cree una rama local que contenga elementos para la máquina local y luego fusione los cambios necesarios en una rama que empujará a remoto.

Creo que ya has add tus archivos y ahora estás intentando ignorarlos.


Parece que el archivo .htaccess ya se ha agregado al control de versión. Es necesario eliminarlo primero, antes de que pueda ser ignorado. Esto se puede hacer usando git rm


Supongamos que lo siguiente es el contenido del archivo .gitignore . Aquí, .htaccess está en el directorio raíz del proyecto.

/.htaccess application/config/config.php application/config/database.php

Ejecutemos el siguiente comando para ignorar los archivos .htaccess , config.php y database.php .

[email protected]:work-dir$ git update-index --assume-unchanged .htaccess [email protected]:work-dir$ git update-index --assume-unchanged application/config/config.php [email protected]:work-dir$ git update-index --assume-unchanged application/config/database.php

Si quieres empezar a rastrearlo de nuevo:

[email protected]:work-dir$ git update-index --no-assume-unchanged path/to/file

p.ej

[email protected]:work-dir$ git update-index --no-assume-unchanged .htaccess


Tuve el mismo problema: quería un archivo .htaccess diferente por repositorio, entonces no pude porque el archivo htaccess ya se había agregado al repositorio. Está funcionando ahora, puedo cambiar cualquiera de los archivos .htaccess desde cualquier versión sin que git los presione. Marc tiene razón cuando dice "primero debes eliminarlo, antes de que se pueda ignorar. Esto se puede hacer usando git rm".

procedí en este orden:

  • copia de seguridad de su archivo .htaccess en alguna parte
  • eliminar el archivo .htaccess utilizando git rm .htaccess
  • cometer este cambio (eliminación de .htaccess)
  • empujar (git empujar)

esto obviamente eliminará su archivo .htaccess

  • luego edita .gitignore y agrega /.htaccess
  • cometer luego empujarlo
  • vuelva a crear su archivo .htaccess restaurando su copia de seguridad anterior

entonces ya está listo: cualquier cambio que realice en .htaccess no se enviará más. La parte difícil es seguir los pasos de orden ...

espero que esto esté claro


después de los pasos de anybug anotados aquí, mi git aún seguía el rastro de .htaccess y esto ayudó:

git update-index --assume-unchanged .htaccess

Para volver atrás:

git update-index --no-assume-unchanged .htaccess