2012-05-28 20 views
79

Estoy intentando crear un .gitignore para un proyecto de Visual Studio que usa NuGet. Actualmente contiene:.gitignore NuGet excluye paquetes/include packages/repositories.config

\packages/* 
!packages/repositories.config 

Esto no ignora nada en la carpeta. Todo se pone en escena en un complemento. También he intentado:

packages/ 
!packages/repositories.config 

Esto ignora todo en la carpeta paquetes y no incluye la paquetes/repositories.config.

¿Qué estoy haciendo mal?

Respuesta

107
/packages/ 
!packages/repositories.config 

También puede añadir un .gitignore en la carpeta de paquetes:

* 
!repositories.config 
!.gitignore 
+0

Esto funcionó para mí - gracias! –

+2

Incluso propuse esto a https://github.com/github/gitignore –

+11

Sería * una pena si el '.gitignore' se ignorara a sí mismo. +1 – Thomas

11

Esto funciona para mí.

#NuGet 
packages 
!packages/repositories.config 

(Igual que @manojlds's answer excepto eliminado la estrella en la primera línea. Eso no funcionó para mí.)

8

yo encontramos este patrón simple funciona.

/packages/*/ 

Debe ignorar todos los directorios en el directorio de paquetes raíz, pero debe incluir todos los archivos allí. No estoy seguro de qué otros archivos que repositories.config podrían aparecer allí o si deberían incluirse en el repositorio.

Ver también .gitignore Syntax: bin vs bin/ vs. bin/* vs. bin/**

26

que enfrentan el mismo problema.

Ninguna de las soluciones anteriores funcionó para mí. Y creo que es una solución pobre para mantener múltiples archivos .ignore.

Así lo resolví.

**/packages/* 
!**/packages/repositories.config 

La combinación de dos asteriscos coincidirá con cualquier cadena de carpetas. Pensé que omitir los asteriscos tendría el mismo efecto, pero aparentemente yo (nosotros) estábamos equivocados, ya que no parece funcionar.

El funcionario .gitignore template for Visual Studio recomienda las siguientes soluciones:

# NuGet Packages 
*.nupkg 
# The packages folder can be ignored because of Package Restore 
**/packages/* 
# except build/, which is used as an MSBuild target. 
!**/packages/build/ 
# Uncomment if necessary however generally it will be regenerated when needed 
#!**/packages/repositories.config 

Edit: se pueden utilizar para generar https://www.gitignore.io .ignore archivo para su proyecto favorito :-)

+2

Esta es la única variante que funcionó para mí ya que tenía varios proyectos en el repositorio con la carpeta de paquetes en cada uno. Gracias. –

+2

Debería ser la respuesta aceptada. –

+1

El que funciona mejor es la plantilla oficial recomendada para Visual Studio + elimine el comentario de la última línea. – vezenkov