2011-05-15 17 views
86

Duplicar posible:
Make .gitignore ignore everything except a few filesopuesto al archivo .gitignore?

¿Es posible dejar que git ignorar todos los archivos por defecto, a menos que se especifique en un archivo especial? !

+1

Como dice, el enfoque de "ignorar todo, luego especificar excepciones" es probablemente el más fácil - vea también http://stackoverflow.com/q/987142/223092 y http://stackoverflow.com/q/1248570/223092 –

+0

No es realmente un duplicado. La solución puede ser un duplicado, pero la idea es solo rastrear los archivos listados. ES DECIR. archivos de configuración en el directorio de inicio del usuario en Linux. – xtian

Respuesta

116

Puede incluir -lines a los archivos de lista blanca: una .gitignore con:

* 
!included/ 

excluirá todos, pero el directorio 'incluido /'

Tenga en cuenta que si desea que los archivos coinciden con un patrón para ser ignorado, en subdirectorios, tendrá que evitar que los directorios que contienen también sean ignorados. Esto no debería representar un gran problema, ya que git no rastrea directorios, solo archivos (identificados por una ruta de repositorio).

Ejemplo:

* 
!*/ 
!SOURCES 

ignorará todo, excepto SOURCES en subdirectorios.

+1

Y, por supuesto, todo esto está documentado en ['man gitignore'] (http://www.kernel.org/pub/software/scm/git/docs/gitignore.html). – Cascabel

+0

enlace roto. Use http://linux.die.net/man/5/gitignore – jldupont

+0

no funciona para mí cuando la ruta es un directorio ... solo para archivos. – semente

10

Puede usar .gitignore para eso.

* 
!file0.txt 
!file1.txt 

En caso de que esté interesado en file0.txt y file1.txt.

+4

Sin embargo, esto no funcionará para rutas anidadas, para lo cual tendrás que usar [ el truco '! * /'] (http://stackoverflow.com/a/9227991/321973) –