usar una omitir funciona example ejemplo crear como comando carpeta archivo git content-management-system gitignore filefilter

una - GIT-Excluir/Omitir archivos de confirmación



gitignore no funciona (2)

Aquí está mi respuesta de una pregunta similar .

git update-index debería hacer lo que quieras

Esto le dirá a Git que quieres comenzar a ignorar los cambios en el archivo.
git update-index --assume-unchanged path/to/file

Cuando quieras empezar a seguir la pista de nuevo.
git update-index --no-assume-unchanged path/to/file

Esta pregunta ya tiene una respuesta aquí:

Necesito ignorar archivos en git! No creo que ignorar sea la palabra correcta en realidad; Quiero que los archivos estén en git, pero no quiero poder enviarles cambios. Esto puede parecer algo extraño para algunos, pero hay muchas, muchas instancias en las que necesito esta funcionalidad. La única instancia que lo necesito por ahora es cuando utilizo git con un CMS; El CMS no funcionará sin los archivos que está cambiando constantemente, pero no quiero que esos archivos se confirmen después de la confirmación inicial. (Esto es muy fácil de hacer con SVN y Tortoise).

Flujo de trabajo:

  1. Obtener todos los archivos necesarios para ejecutar la aplicación.
  2. Ignore los directorios / archivos especificados al cometer.

Esto es lo que he intentado:

  1. .gitignore - los archivos nunca entran en git. Si el archivo ya está en caché, el archivo .gitignore no hace nada.
  2. /.git/info/exclude : el mismo problema que .gitignore, pero solo para el repositorio local.
  3. Ramificación - master => LocalIgnores => WorkingBranch. Cuando la rama de trabajo se combina con el maestro, los cambios realizados desde LocalIgnores terminan en el maestro. Además, cuando selecciona una de las nuevas sucursales, los archivos eliminados se eliminan en lugar de ignorarse.
  4. Estructura de archivos de terceros: directorio de terceros en el nodo raíz que contiene una copia de todos los archivos de terceros importantes para que puedan copiarse en el directorio de trabajo que utiliza el archivo .gitignore. (Este funciona, pero tiene que haber una solución más fácil / mejor).

Otra solución es usar un gancho de pre-commit . Vea git help hooks para más detalles.

  • Esto es más difícil de configurar: tienes que escribir un script de shell para expresar exactamente lo que quieres permitir o rechazar, lo que probablemente significa que necesitas tener un buen conocimiento de git.

  • Es más permanente y flexible: con trucos como git update-index puedes olvidarte accidentalmente de ejecutarlo, etc. Pero una vez que configuras un gancho, nunca más debes preocuparte por eso.

Al igual que los otros trucos sugeridos, los enganches no se propagan automáticamente entre los repositorios, pero puede registrarlos como archivos normales y hacer que todos los vinculen a .git/hooks .