2009-03-12 16 views
61

Al hacer:git, no me muestres * .pyc en la lista de archivos sin seguimiento!

>git status 

Se muestra una gran lista de archivos .pyc en "Archivos sin seguimiento". No quiero que muestre esto, ya que agrega ruido.

En otras palabras, ¿cómo hago que git ignore los archivos .pyc todo el tiempo y para todos los proyectos?

EDITAR

No estoy pidiendo una manera de difundir mis ficheros ignorados a otras personas, me refiero sólo "para todos los proyectos", lo que significa que no quiero configurar cada nuevo proyecto para ignorar archivos .pyc

ACTUALIZACIÓN

Debo añadir que estoy trabajando en las ventanas, y mi Git es msysgit

Patrones cual un usuario quiere hacer caso omiso de git en todas las situaciones (por ejemplo, copia de seguridad o temporal los archivos generados por el editor de elección del usuario) generalmente entran en un archivo especificado por core.excludesfile en ~/.gitconfig del usuario.

¿Es .gitconfig un archivo o una carpeta? No tengo tal cosa en mi directorio home (C:\users\<myusername>\)

Update2

Gracias a todos por las respuestas,

que resuelve los problemas mediante el uso de:

>git config --global core.excludesfile c:\git\ignore_files.txt 

y poner * .pyc en c:\git\ignore_files.txt

Respuesta

38
git config --global core.excludesfile "c:\program files\whatever\global_ignore.txt" 

a continuación, añadir

*.foo 

a ese archivo.

+0

esto funcionó para un proyecto, pero no para todos los proyectos – hasen

+1

Vaya. Use "git config --global core.excludesfile ..." para configurarlo en la configuración global de Git. Eso debería funcionar para todos los proyectos. – Bombe

+0

Gran respuesta, funcionó por primera vez. Gracias – dahui

3

Si no recuerdo, hay una manera de tup a global .gitignore ... Pero el problema con eso es que no puedes compartirlo con otras personas (es decir, otras personas que extraen tu código verán los archivos .pyc).

Así que, en mi humilde opinión, es mejor simplemente agregarlo al .gitignore para cada proyecto que inicie. Mantengo un stock. Gitignore por esa misma razón.

< flamebait>
O usted podría cambiar a bzr, que viene con una lista predeterminada sensible de las cosas a ignorar^_^
</flamebait>

+0

'bzr' está escrito en Python. Sería inesperado si no pudiera manejar bien las cosas específicas de Python. – jfs

+1

Eso es verdad. No sé el alcance total de los valores predeterminados, pero sé que también manejan cosas como archivos de intercambio/copia de seguridad de Vim/Emacs, archivos .o, etc. –

+0

uno pensaría que sería sensato que bzr ignore los archivos .DS_Store uno mac, pero no es así, svn hace el anuncio que recuerdo. Creo que solo ignora los archivos pyc de forma predeterminada, está escrito en python y probablemente en emacs también :) – Vasil

55

Poner en el archivo de ~/.gitignore:

*.pyc 

Run:

git config --global core.excludesfile ~/.gitignore 

Estoy de acuerdo con @David Wolever esta opción se debe utilizar con precaución si alguna vez.

~/.gitignore ("%HOME%\.gitignore" en Windows) es solo una convención que puede usar cualquier nombre de archivo que desee, por ejemplo, "c:\docs\gitignore.txt".

+0

La mejor respuesta. Corto, hasta el punto –

+0

¿Por qué debería usarse esto con precaución? – LazerSharks

+0

@Gnuey: es una configuración global que se aplica a todos sus repositorios de git. Úselo solo para archivos que desea ignorar * "todo el tiempo y para todos los proyectos" * – jfs

1

No ¿Es posible añadir

* .pyc

a su .gitignore?

+1

'.gitignore' para un repositorio git no funciona para" todo el tiempo y para todos los proyectos ". – jfs

+0

bueno, estoy sorta newb to git – hasen

84

Como se mencionó en gitignore, Git tiene 3 ignore files:

  • patrones que deben ser versión controlada y distribuida a otros repositorios a través de clon (es decir, los archivos que todos los desarrolladores se desea ignorar) debería ingrese a .gitignore file.

(que se encarga de todos los tiempos : si tu repositorio y un clones, se pondrá el archivo .gitignore)

  • patrones que son específicas para un depósito particular, pero que no necesitan ser compartidos con otros repositorios relacionados (por ejemplo, archivos auxiliares que viven dentro del repositorio pero son específicos del flujo de trabajo de un usuario) deben ir al archivo $ GIT_DIR/info/exclude.

(no interesantes en su caso)

  • Patrones cual un usuario desea git para ignorar en todas las situaciones (por ejemplo, copias de seguridad o archivos temporales generados por el editor de la elección del usuario) general vaya a un archivo especificado por core.excludesfile en el user's ~/.gitconfig.

(toma cuidados de todos los proyectos, pero no todos los tiempos ya que no se replica cuando se clona tu repositorio.)

"Todo el tiempo para todos los proyectos" sería significa, por ejemplo una carcasa a medida para la creación de nuevos proyectos Git, con un .gitignore personalizado como primera parte del archivo de la primera comprometerse ...

+0

Respuesta realmente clara. +1 – Paul

+0

+1: respuesta completa. Excepto que debe mencionar que 'core.excludesfile' se puede establecer * por proyecto * así como la configuración global. – jfs

7

Otra forma de ignorar algunos patrones de archivos es: agrega * .pyc a .git/info/excludes, esta es una forma mucho más limpia.

5

añadir

*.pyc 

en.presentar gitignore

y ejecutar este

git config --global core.excludesfile .gitignore 

que funcionó para mí

Cuestiones relacionadas