visual template studio solutions obj hub for exclude git visual-studio visual-studio-2012 gitignore

template - visual studio 2017 git exclude file



.gitignore para proyectos y soluciones de Visual Studio (17)

¿Qué archivos debo incluir en .gitignore cuando uso Git junto con Visual Studio Solutions ( .sln ) y Projects?


Aquí está lo que uso en mis proyectos .NET para mi archivo .gitignore .

[Oo]bj/ [Bb]in/ *.suo *.user /TestResults *.vspscc *.vssscc

Esto es más o menos un enfoque completo de MS, que utiliza el comprobador de Visual Studio incorporado y un proyecto que puede tener algunos enlaces TFS allí también.


Aquí hay un extracto de un .gitignore sobre un proyecto reciente en el que estaba trabajando. He extraído los que creo que están relacionados con Visual Studio, incluidas las salidas de compilación; es un proyecto multiplataforma, por lo que hay varias otras reglas de ignorar para archivos producidos por otros sistemas de compilación, y no puedo garantizar que los separé exactamente.

*.dll *.exe *.exp *.ilk *.lib *.ncb *.log *.pdb *.vcproj.*.user [Dd]ebug [Rr]elease

Quizás esta pregunta debería ser Community Wiki, para que todos podamos editar juntos una lista maestra con comentarios sobre qué archivos deben ignorarse para qué tipo de proyecto.


Como lo mencionó otro póster, Visual Studio genera esto como parte de su .gitignore (al menos para MVC 4):

# SQL Server files App_Data/*.mdf App_Data/*.ldf

Dado que su proyecto puede ser una subcarpeta de su solución, y el archivo .gitignore se almacena en la raíz de la solución, esto no tocará los archivos de la base de datos local (Git los ve en la projectfolder/App_Data/*.mdf ). Para dar cuenta de esto, cambié esas líneas así:

# SQL Server files *App_Data/*.mdf *App_Data/*.ldf



En Visual Studio 2015 Team Explorer> Repositorios locales de Git> Proyecto> Configuración> Git> Configuración del repositorio> Ignorar y archivos de atributos. Puede agregar archivos .gitignore con elementos que deben ignorarse en las soluciones de estudio visual de forma predeterminada.


En Visual Studio 2015 Update 3, y con la extensión Git actualizada a partir de hoy (2016-10-24), el .gitignore generado por Visual Studio es:

## Ignore Visual Studio temporary files, build results, and ## files generated by popular Visual Studio add-ons. # User-specific files *.suo *.user *.userosscache *.sln.docstates # User-specific files (MonoDevelop/Xamarin Studio) *.userprefs # Build results [Dd]ebug/ [Dd]ebugPublic/ [Rr]elease/ [Rr]eleases/ [Xx]64/ [Xx]86/ [Bb]uild/ bld/ [Bb]in/ [Oo]bj/ # Visual Studio 2015 cache/options directory .vs/ # Uncomment if you have tasks that create the project''s static files in wwwroot #wwwroot/ # MSTest test Results [Tt]est[Rr]esult*/ [Bb]uild[Ll]og.* # NUNIT *.VisualState.xml TestResult.xml # Build Results of an ATL Project [Dd]ebugPS/ [Rr]eleasePS/ dlldata.c # DNX project.lock.json artifacts/ *_i.c *_p.c *_i.h *.ilk *.meta *.obj *.pch *.pdb *.pgc *.pgd *.rsp *.sbr *.tlb *.tli *.tlh *.tmp *.tmp_proj *.log *.vspscc *.vssscc .builds *.pidb *.svclog *.scc # Chutzpah Test files _Chutzpah* # Visual C++ cache files ipch/ *.aps *.ncb *.opendb *.opensdf *.sdf *.cachefile *.VC.db # Visual Studio profiler *.psess *.vsp *.vspx *.sap # TFS 2012 Local Workspace $tf/ # Guidance Automation Toolkit *.gpState # ReSharper is a .NET coding add-in _ReSharper*/ *.[Rr]e[Ss]harper *.DotSettings.user # JustCode is a .NET coding add-in .JustCode # TeamCity is a build add-in _TeamCity* # DotCover is a Code Coverage Tool *.dotCover # NCrunch _NCrunch_* .*crunch*.local.xml nCrunchTemp_* # MightyMoose *.mm.* AutoTest.Net/ # Web workbench (sass) .sass-cache/ # Installshield output folder [Ee]xpress/ # DocProject is a documentation generator add-in DocProject/buildhelp/ DocProject/Help/*.HxT DocProject/Help/*.HxC DocProject/Help/*.hhc DocProject/Help/*.hhk DocProject/Help/*.hhp DocProject/Help/Html2 DocProject/Help/html # Click-Once directory publish/ # Publish Web Output *.[Pp]ublish.xml *.azurePubxml # TODO: Un-comment the next line if you do not want to checkin # your web deploy settings because they may include unencrypted # passwords #*.pubxml *.publishproj # 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 # NuGet v3''s project.json files produces more ignoreable files *.nuget.props *.nuget.targets # Microsoft Azure Build Output csx/ *.build.csdef # Microsoft Azure Emulator ecf/ rcf/ # Microsoft Azure ApplicationInsights config file ApplicationInsights.config # Windows Store app package directory AppPackages/ BundleArtifacts/ # Visual Studio cache files # files ending in .cache can be ignored *.[Cc]ache # but keep track of directories ending in .cache !*.[Cc]ache/ # Others ClientBin/ [Ss]tyle[Cc]op.* ~$* *~ *.dbmdl *.dbproj.schemaview *.pfx *.publishsettings node_modules/ orleans.codegen.cs # RIA/Silverlight projects Generated_Code/ # Backup & report files from converting an old project file # to a newer Visual Studio version. Backup files are not needed, # because we have git ;-) _UpgradeReport_Files/ Backup*/ UpgradeLog*.XML UpgradeLog*.htm # SQL Server files *.mdf *.ldf # Business Intelligence projects *.rdl.data *.bim.layout *.bim_*.settings # Microsoft Fakes FakesAssemblies/ # GhostDoc plugin setting file *.GhostDoc.xml # Node.js Tools for Visual Studio .ntvs_analysis.dat # Visual Studio 6 build log *.plg # Visual Studio 6 workspace options file *.opt # Visual Studio LightSwitch build output **/*.HTMLClient/GeneratedArtifacts **/*.DesktopClient/GeneratedArtifacts **/*.DesktopClient/ModelManifest.xml **/*.Server/GeneratedArtifacts **/*.Server/ModelManifest.xml _Pvt_Extensions # LightSwitch generated files GeneratedArtifacts/ ModelManifest.xml # Paket dependency manager .paket/paket.exe # FAKE - F# Make .fake/


Gracias a Jens Lehmann por este : si mantienes los directorios de origen separados de tus archivos de proyecto del compilador y construyes el resultado, podrías simplificar tu .gitignore negándolo:

path/to/build/directory/* !*.sln !*.vcproj

No dice qué idioma (s) está usando, pero lo anterior debería funcionar para los proyectos de C ++.


Hay un acceso directo en Visual Studio, porque admite Git fuera de la caja en 2015 o más. Para las nuevas soluciones (o algunas que no tienen carpeta .git ) use las funciones de control de fuente en el Explorador de soluciones :

Haga clic con el botón derecho en su solución y seleccione el elemento Add Solution to Source Control... en el menú emergente.

Inicializa automáticamente el repositorio .git , agrega .gitignore con los elementos necesarios a su solución e incluso el archivo .gitattributes (finales de línea, etc.).

El texto aparecerá en la consola de VS:

A new Git repository has been created for you in C:/<path to your solution> Commit ______ created locally in repository.

¡Hecho!


Hay una herramienta en línea que le permite generar archivos .gitignore según su sistema operativo, IDE, idioma, etc. Eche un vistazo a http://www.gitignore.io/ .

El 20 de agosto de 2014, aquí está el archivo que se genera para Visual Studio + Windows.

# Created by http://www.gitignore.io ### VisualStudio ### ## Ignore Visual Studio temporary files, build results, and ## files generated by popular Visual Studio add-ons. # User-specific files *.suo *.user *.sln.docstates # Build results [Dd]ebug/ [Dd]ebugPublic/ [Rr]elease/ [Rr]eleases/ x64/ x86/ build/ bld/ [Bb]in/ [Oo]bj/ # Roslyn cache directories *.ide/ # MSTest test Results [Tt]est[Rr]esult*/ [Bb]uild[Ll]og.* #NUNIT *.VisualState.xml TestResult.xml # Build Results of an ATL Project [Dd]ebugPS/ [Rr]eleasePS/ dlldata.c *_i.c *_p.c *_i.h *.ilk *.meta *.obj *.pch *.pdb *.pgc *.pgd *.rsp *.sbr *.tlb *.tli *.tlh *.tmp *.tmp_proj *.log *.vspscc *.vssscc .builds *.pidb *.svclog *.scc # Chutzpah Test files _Chutzpah* # Visual C++ cache files ipch/ *.aps *.ncb *.opensdf *.sdf *.cachefile # Visual Studio profiler *.psess *.vsp *.vspx # TFS 2012 Local Workspace $tf/ # Guidance Automation Toolkit *.gpState # ReSharper is a .NET coding add-in _ReSharper*/ *.[Rr]e[Ss]harper *.DotSettings.user # JustCode is a .NET coding addin-in .JustCode # TeamCity is a build add-in _TeamCity* # DotCover is a Code Coverage Tool *.dotCover # NCrunch _NCrunch_* .*crunch*.local.xml # MightyMoose *.mm.* AutoTest.Net/ # Web workbench (sass) .sass-cache/ # Installshield output folder [Ee]xpress/ # DocProject is a documentation generator add-in DocProject/buildhelp/ DocProject/Help/*.HxT DocProject/Help/*.HxC DocProject/Help/*.hhc DocProject/Help/*.hhk DocProject/Help/*.hhp DocProject/Help/Html2 DocProject/Help/html # Click-Once directory publish/ # Publish Web Output *.[Pp]ublish.xml *.azurePubxml # TODO: Comment the next line if you want to checkin your web deploy settings # but database connection strings (with potential passwords) will be unencrypted *.pubxml *.publishproj # 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/ # If using the old MSBuild-Integrated Package Restore, uncomment this: #!**/packages/repositories.config # Windows Azure Build Output csx/ *.build.csdef # Windows Store app package directory AppPackages/ # Others sql/ *.Cache ClientBin/ [Ss]tyle[Cc]op.* ~$* *~ *.dbmdl *.dbproj.schemaview *.pfx *.publishsettings node_modules/ # RIA/Silverlight projects Generated_Code/ # Backup & report files from converting an old project file # to a newer Visual Studio version. Backup files are not needed, # because we have git ;-) _UpgradeReport_Files/ Backup*/ UpgradeLog*.XML UpgradeLog*.htm # SQL Server files *.mdf *.ldf # Business Intelligence projects *.rdl.data *.bim.layout *.bim_*.settings # Microsoft Fakes FakesAssemblies/ ### Windows ### # Windows image file caches Thumbs.db ehthumbs.db # Folder config file Desktop.ini # Recycle Bin used on file shares $RECYCLE.BIN/ # Windows Installer files *.cab *.msi *.msm *.msp


Llego tarde a la fiesta aquí, pero también encuentro que uso lo siguiente. Algunos solo pueden ser útiles para ocultar archivos confidenciales cuando se empuja a un remoto público .

#Ignore email files delivered to specified pickup directory *.eml #Allow NuGet.exe (do not ignore) !NuGet.exe #Ignore WebDeploy publish profiles *.Publish.xml #Ignore Azure build csdef & Pubxml files ServiceDefinition.build.csdef *.azurePubxml #Allow ReSharper .DotSettings (for non-namespace-provider properties) !*.csproj.DotSettings #Ignore private folder /Private/


Para aquellos interesados ​​en lo que Microsoft cree que debería incluirse en el gitignore, aquí está el predeterminado que Visual Studio 2013 RTM genera automáticamente al crear un nuevo repositorio Git:

## Ignore Visual Studio temporary files, build results, and ## files generated by popular Visual Studio add-ons. # User-specific files *.suo *.user *.sln.docstates # Build results [Dd]ebug/ [Rr]elease/ x64/ build/ [Bb]in/ [Oo]bj/ # Enable "build/" folder in the NuGet Packages folder since NuGet packages use it for MSBuild targets !packages/*/build/ # MSTest test Results [Tt]est[Rr]esult*/ [Bb]uild[Ll]og.* *_i.c *_p.c *.ilk *.meta *.obj *.pch *.pdb *.pgc *.pgd *.rsp *.sbr *.tlb *.tli *.tlh *.tmp *.tmp_proj *.log *.vspscc *.vssscc .builds *.pidb *.log *.scc # Visual C++ cache files ipch/ *.aps *.ncb *.opensdf *.sdf *.cachefile # Visual Studio profiler *.psess *.vsp *.vspx # Guidance Automation Toolkit *.gpState # ReSharper is a .NET coding add-in _ReSharper*/ *.[Rr]e[Ss]harper # TeamCity is a build add-in _TeamCity* # DotCover is a Code Coverage Tool *.dotCover # NCrunch *.ncrunch* .*crunch*.local.xml # Installshield output folder [Ee]xpress/ # DocProject is a documentation generator add-in DocProject/buildhelp/ DocProject/Help/*.HxT DocProject/Help/*.HxC DocProject/Help/*.hhc DocProject/Help/*.hhk DocProject/Help/*.hhp DocProject/Help/Html2 DocProject/Help/html # Click-Once directory publish/ # Publish Web Output *.Publish.xml # NuGet Packages Directory ## TODO: If you have NuGet Package Restore enabled, uncomment the next line #packages/ # Windows Azure Build Output csx *.build.csdef # Windows Store app package directory AppPackages/ # Others sql/ *.Cache ClientBin/ [Ss]tyle[Cc]op.* ~$* *~ *.dbmdl *.[Pp]ublish.xml *.pfx *.publishsettings # RIA/Silverlight projects Generated_Code/ # Backup & report files from converting an old project file to a newer # Visual Studio version. Backup files are not needed, because we have git ;-) _UpgradeReport_Files/ Backup*/ UpgradeLog*.XML UpgradeLog*.htm # SQL Server files App_Data/*.mdf App_Data/*.ldf #LightSwitch generated files GeneratedArtifacts/ _Pvt_Extensions/ ModelManifest.xml # ========================= # Windows detritus # ========================= # Windows image file caches Thumbs.db ehthumbs.db # Folder config file Desktop.ini # Recycle Bin used on file shares $RECYCLE.BIN/ # Mac desktop service store files .DS_Store

Ver: Agregar un archivo .gitignore predeterminado en MSDN


Prefiero excluir las cosas según sea necesario. No desea que la escopeta excluya todo con la cadena "bin" u "obj" en el nombre. Al menos asegúrate de seguir a aquellos con una barra.

Aquí es con lo que comienzo en un proyecto VS2010:

bin/ obj/ *.suo *.user

Y solo porque uso ReSharper, también esto:

_ReSharper*


Sé que este es un hilo antiguo, pero para el nuevo y el antiguo que visita esta página, hay un sitio web llamado gitignore.io que puede generar estos archivos. Busque "visualstudio" al aterrizar en el sitio web y generará estos archivos para usted, también puede hacer que varios idiomas / identidades ignoren los archivos concatenados en un documento.

Hermoso.


Se agregó InstallShield para el despliegue de compilación. InstallShield es la nueva dirección en la que Microsoft se dirige a través de Visual Studio Installer, por lo que hemos comenzado a usarlo en todos los proyectos nuevos. Esta línea agregada elimina los archivos de instalación de SingleImage. Otros tipos de InstallShield pueden incluir la distribución de DVD entre otros. Es posible que desee agregar esos nombres de directorio o simplemente [Ee] xpress / para evitar que los archivos de implementación de InstallShield LE entren en el repositorio.

Aquí está nuestro .gitignore para los proyectos C # VS2010 que utilizan las implementaciones de Install Shield LE with SingleImage para el instalador:

#OS junk files [Tt]humbs.db *.DS_Store #Visual Studio files *.[Oo]bj *.exe *.pdb *.user *.aps *.pch *.vspscc *.vssscc *_i.c *_p.c *.ncb *.suo *.tlb *.tlh *.bak *.[Cc]ache *.ilk *.log *.lib *.sbr *.sdf ipch/ obj/ [Bb]in [Dd]ebug*/ [Rr]elease*/ Ankh.NoLoad #InstallShield [Ss]ingle[Ii]mage/ [Dd][Vv][Dd]-5/ [Ii]nterm/ #Tooling _ReSharper*/ *.resharper [Tt]est[Rr]esult* #Project files [Bb]uild/ #Subversion files .svn # Office Temp Files ~$*


Si bien debe conservar su archivo NuGet packages.config, debe excluir la carpeta de paquetes:

#NuGet packages/

Normalmente no almaceno binarios, ni nada generado desde mi fuente, en el control de fuente. Hay diferentes opiniones sobre esto sin embargo. Si facilita las cosas para su sistema de compilación, ¡hágalo! Sin embargo, argumentaría que no estás versionando estas dependencias, por lo que solo ocuparán espacio en tu repositorio. Almacenar los binarios en una ubicación central, y luego confiar en el archivo packages.config para indicar qué versión se necesita es una solución mejor, en mi opinión.



Yo uso el siguiente .gitignore para proyectos de C #. Se agregan patrones adicionales a medida que se necesitan.

[Oo]bj [Bb]in *.user *.suo *.[Cc]ache *.bak *.ncb *.log *.DS_Store [Tt]humbs.db _ReSharper.* *.resharper Ankh.NoLoad