cómo puedo ignorar el archivo .pyc en git. Si puse .gitignore no funciona: necesito que estén destrabando y no verifique su compromiso.Ignorar archivo .pyc en el repositorio de git
Respuesta
Ponlo en .gitignore
. Pero a partir de la página gitignore(5)
hombre:
· If the pattern does not contain a slash /, git treats it as a shell glob pattern and checks for a match against the pathname relative to the location of the .gitignore file (relative to the toplevel of the work tree if not from a .gitignore file). · Otherwise, git treats the pattern as a shell glob suitable for consumption by fnmatch(3) with the FNM_PATHNAME flag: wildcards in the pattern will not match a/in the pathname. For example, "Documentation/*.html" matches "Documentation/git.html" but not "Documentation/ppc/ppc.html" or "tools/perf/Documentation/perf.html".
Por lo tanto, especificar la ruta completa a la entrada apropiada *.pyc
, o ponerlo en un archivo .gitignore
en cualquiera de los directorios que va desde la raíz del repositorio (incluido)
Solo para evitar que alguien más se confunda, la interpretación de Ignacio de la página de manual es incorrecta. No necesita colocar el * .pyc en el mismo directorio, es suficiente para ponerlo en un directorio padre (o abuelo, etc.). – Godsmith
@Godsmith: corregido. –
Probablemente los hayas agregado al repositorio antes de poner *.pyc
en .
Primero retírelos del repositorio.
este gotcha me enciende cada vez – ecoe
Usted debe agregar una línea con:
*.pyc
al archivo .gitignore
en la carpeta raíz de su árbol de repositorio git justo después de la inicialización del repositorio.
Como ralphtheninja dijo, si se olvidó de hacerlo de antemano, si usted acaba de añadir la línea en el fichero de .gitignore
, todos los cometidos anteriormente .pyc
archivos seguirán siendo rastreados, por lo que tendrá que eliminarlos de la repositorio.
Si usted está en un sistema Linux (o "padres & hijos" como un MacOSX), que rápidamente puede hacerlo con sólo este comando una línea que tiene que ejecutar desde la raíz del repositorio:
find . -name "*.pyc" -exec git rm -f "{}" \;
Esto sólo significa:
desde el directorio que estoy actualmente en, encontrar todos los archivos cuyo nombre termina con extensión
.pyc
, y pasar el nombre de archivo al comandogit rm -f
Después *.pyc
archivos eliminación de git como archivos rastreados, cometer este cambio en el repositorio, y luego finalmente se puede agregar la línea *.pyc
al archivo .gitignore
.
(adaptado de http://yuji.wordpress.com/2010/10/29/git-remove-all-pyc/)
Esto es increíble – Tunn
Alternativamente, solo para eliminar los archivos de git y de su máquina local, puede hacer 'git rm --cached * .pyc' en el directorio de nivel superior. Lo obtuve desde [aquí] (https://coderwall.com/p/wrxwog/why-not-to-commit-pyc-files-into-git-and-how-to-fix-if-you-already-did) – Anupam
Gracias @Enrico para la respuesta.
Nota si está utilizando virtualenv tendrá varios más archivos .pyc
dentro del directorio en el que se encuentra actualmente, que serán capturados por su comando find.
Por ejemplo:
./app.pyc
./lib/python2.7/_weakrefset.pyc
./lib/python2.7/abc.pyc
./lib/python2.7/codecs.pyc
./lib/python2.7/copy_reg.pyc
./lib/python2.7/site-packages/alembic/__init__.pyc
./lib/python2.7/site-packages/alembic/autogenerate/__init__.pyc
./lib/python2.7/site-packages/alembic/autogenerate/api.pyc
supongo que es inofensivo para eliminar todos los archivos, pero si sólo desea eliminar los archivos .pyc
en su directorio principal, a continuación, sólo hago
find "*.pyc" -exec git rm -f "{}" \;
Esto eliminará solo el archivo app.pyc
del repositorio de git.
- 1. ¿Cómo ignorar los archivos que están en el repositorio?
- 2. git rastrear, ignorar, borrar, deshacer
- 3. Git: Ignorar sólo el contenido de la carpeta
- 4. Limitar el tamaño del archivo en el repositorio de git
- 5. git - eliminar archivo del repositorio
- 6. git agregar todos excepto ignorar archivos en el archivo .gitignore
- 7. Git: Ignorar archivos rastreados
- 8. Aplicar las reglas de git .gitignore a un repositorio existente
- 9. Ignorar archivos que ya están en un repositorio SIN eliminarlos
- 10. git: ignorar un archivo que * es * versión controlada
- 11. Git, eliminando el repositorio
- 12. GIT - No se puede ignorar el archivo .suo
- 13. git ignorar excepción
- 14. Git: Ignorar archivos para el repositorio público, pero no para el privado
- 15. git al cambiar el repositorio
- 16. Merge repositorio de git en el subdirectorio
- 17. Unsync'd repositorio Git en Dropbox
- 18. ¿Cómo cambio las rutas de ignorar en un repositorio de git-svn existente?
- 19. Git no puede ignorar .DS_Store definido en ignorar global
- 20. Repositorio de Git en el servidor ftp
- 21. Protegiendo archivos en el repositorio de git
- 22. ¿Por qué un antiguo archivo .pyc rompía Django?
- 23. git ignorar múltiples archivos coincidentes
- 24. Cómo instalar el repositorio git en Bluehost
- 25. Repositorio de Git dentro del repositorio de Git
- 26. Reparar el repositorio git dañado
- 27. Repositorio anidado de Git
- 28. ¿Listar archivos en el repositorio git local?
- 29. Prueba VM en el repositorio GIT
- 30. Mantener repositorio git dentro de otro repositorio git
.gitignore debería funcionar. ¿Puede proporcionar una copia de las líneas que ha puesto en .gitignore para intentar resolver este problema? –