2011-08-10 18 views

Respuesta

5

Usted podría:

  • Tener un acuerdo de recompra plantilla con:
    • esos archivos xxx.gitignore en ella:
    • un archivo .gitignore con "xxx-gitignore-xxx" en ella (en otras palabras, con un contenido de se puede identificar fácilmente
    • un .gitattribute filter driver

(para cada repositorio nuevo, lo clona y puede comenzar con los archivos que ya están allí).
Luego se quita el mando a distancia 'origen' o sustituirla por cualquier repo remoto que desea empujar a)

enter image description here

En cualquier pago y envío de tu repositorio, el controlador de filtro voluntad, a través de la escritura de la mancha:

  • reconocen la contenido del archivo .gitignore
  • de verificación si el contenido xxx.gitignore no está ya allí (mediante la búsqueda de una específica cadena que sólo los archivos tienen)
  • si su contenido no está allí, añadirá el contenido de esos archivos xxx.gitignore
  • si el contenido ya está en marcha al día, no sería modificar el .gitignore.

Nota que tener un contenido identificable es clave aquí, ya que un filter driver script doesn't have the name/path of the file it filters.

que es un poco complicado, pero parece ser la única manera de poner en práctica el "incluyen" función que desea.

+0

Gracias, necesito digerir tu magia ... – HaveF

+0

Buen uso de los atributos, no lo habría pensado, pero desearía que no estuviera allí. Complejidad innecesaria IMO. – manojlds

+0

@manojlds: "Complejidad innecesaria"? ¡Estoy de acuerdo! Pero es una posible implementación ... – VonC

4

El cierre que se obtiene es el archivo global de ignorado:

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

que por supuesto es como tener un .gitignore en el repositorio, pero aplicable a todos los repositorios en su sistema (y no se propagó a los clones externos.)

+2

gracias! Pero ya tengo un archivo global de ignorar. Solo quiero ignorar diferentes archivos en diferentes tipos de proyectos, ¿podría ser posible? – HaveF

Cuestiones relacionadas