.gitignore pour les projets et Solutions de studio visuel

quels fichiers dois-je inclure dans .gitignore lorsque J'utilise Git en conjonction avec Visual Studio Solutions ( .sln ) et Projects?

1044
demandé sur nik.shornikov 2010-01-27 04:24:14

17 réponses

Voir l'officiel de GitHub de la Collection "utiles .gitignore modèles" .

le .gitignore pour Visual Studio peut être trouvé ici:

https://github.com/github/gitignore/blob/master/VisualStudio.gitignore

532
répondu Chronial 2017-03-19 17:25:50

il y a un outil en ligne qui vous permet de générer .gitignore fichier basé sur votre OS, IDE, langue, etc. Jetez un oeil à http://www.gitignore.io / .

enter image description here

sur 8/20/2014, voici le fichier qui est généré pour 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
217
répondu Martin 2014-08-21 05:45:03

j'utilise ce qui suit .gitignore pour les projets C#. Des modèles supplémentaires sont ajoutés au fur et à mesure qu'ils sont nécessaires.

[Oo]bj
[Bb]in
*.user
*.suo
*.[Cc]ache
*.bak
*.ncb
*.log 
*.DS_Store
[Tt]humbs.db 
_ReSharper.*
*.resharper
Ankh.NoLoad
106
répondu Lachlan Roche 2010-01-27 01:57:46

pour ceux qui s'intéressent à ce que Microsoft pense devoir être inclus dans le gitignore, voici celui par défaut que Visual Studio 2013 RTM génère automatiquement lors de la création d'un nouveau Git-Repository:

## 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

voir: Ajouter un défaut .dossier gitignore sur MSDN

45
répondu Mobiletainment 2013-10-27 23:55:06

pendant que vous devez garder vos paquets NuGet.fichier de configuration, vous devez exclure le dossier packages:

#NuGet
packages/

en général, je ne stocke pas de binaires, ou quoi que ce soit généré par ma source, dans le contrôle source. Il ya des opinions divergentes sur cela, cependant. Si cela rend les choses plus faciles pour votre système de construction, faites-le! Cependant, je dirais que vous n'êtes pas en train de versionner ces dépendances, donc elles occuperont juste de l'espace dans votre dépôt. Le stockage des binaires dans un emplacement central, puis en se basant sur les paquets.fichier de configuration pour indiquer quelle version est nécessaire est une meilleure solution, à mon avis.

37
répondu sgriffinusa 2012-01-04 15:17:10

je préfère exclure les choses selon les besoins. Vous ne voulez pas exclure tout ce qui porte le nom "bin" ou "obj". Au moins assurez-vous de suivre ceux avec une barre oblique.

voici ce que je commence avec sur un projet VS2010:

bin/
obj/
*.suo
*.user

et seulement parce que J'utilise ReSharper, aussi ceci:

_ReSharper*
16
répondu Eben Geer 2011-12-26 08:10:26

sur Visual Studio 2015 Update 3, et avec l'extension git mise à jour à partir d'aujourd'hui (2016-10-24), le .gitignore généré par Visual Studio est:

## 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/
10
répondu Rui Bruno Mendes 2016-12-12 13:33:39

ajouté InstallShield ignores pour le déploiement de la construction. InstallShield est la nouvelle direction que Microsoft a prise sur Visual Studio Installer, donc nous avons commencé à l'utiliser sur tous les nouveaux projets. Cette ligne ajoutée supprime les fichiers d'installation SingleImage. D'autres types D'InstallShield peuvent inclure la distribution de DVD entre autres. Vous pouvez ajouter ces noms de répertoires ou tout simplement [Ee]xpress/ pour empêcher tout fichier de déploiement le D'InstallShield d'entrer dans le repo.

voici notre .gitignore pour VS2010 projets C# à l'aide d'Installer LE Bouclier avec SingleImage déploiements pour l'installateur:

#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
~$*
9
répondu Charleston Software Associates 2011-03-29 18:02:03

voici un extrait d'un .gitignore sur un projet récent sur lequel je travaillais. J'ai extrait ceux que je crois liés à Visual Studio, y compris les sorties de compilation; c'est un projet multi-plateforme, donc il y a plusieurs autres règles d'Ignorer pour les fichiers produits par d'autres systèmes de compilation, et je ne peux pas garantir que je les ai séparés exactement.

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

peut-être que cette question devrait être Wiki communautaire, pour que nous puissions tous éditer ensemble un maître liste des commentaires sur les fichiers qui devraient être ignoré pour quels types de projets?

6
répondu Brian Campbell 2010-01-27 04:42:41

crédit à Jens Lehmann pour celui-ci - si vous gardez les répertoires source séparés de vos fichiers de projet de compilateur et construisez la sortie, vous pourriez simplifier votre .gitignore en le niant:

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

vous ne dites pas quel(S) langue (s) vous utilisez, mais ce qui précède devrait fonctionner pour les projets C++.

6
répondu Steve Folly 2010-01-27 06:28:25

la Fin de la partie ici, mais je trouve aussi que j'utilise la suite. Certains ne peuvent être utiles pour cacher des fichiers sensibles qu'en poussant vers une télécommande publique .

#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/
6
répondu danludwig 2012-06-25 18:47:11

je sais que c'est un vieux fil, mais pour les nouveaux et les anciens qui visitent cette page, il y a un site Web appelé gitignore.io qui peut générer ces fichiers. Rechercher "visualstudio" lors de l'atterrissage sur le site web et il générera ces fichiers pour vous, aussi vous pouvez avoir plusieurs langues/ides ignorer les fichiers concaténés dans le document unique.

beau.

6
répondu Nathan 2013-09-12 14:48:55

Dans Visual Studio 2015 De L'Équipe De L'Explorateur > Local Dépôts Git > Projet > Réglages > Git > Paramètres Du Référentiel > Ignorer Et Attribut Des Fichiers.Vous pouvez ajouter .le fichier gitignore contenant des éléments doit être ignoré dans visual studio solutions par défaut. enter image description here

enter image description here

6
répondu Hamed Mahdizadeh 2018-01-21 05:56:57

si vous utilisez un dbproj dans votre solution, vous voudrez ajouter ce qui suit:

#Visual Studio DB Project
*.dbmdl
[Ss]ql/

Source: http://blogs.msdn.com/b/bahill/archive/2009/07/31/come-visit-revisit-the-beer-house-continuous-integration.aspx

5
répondu WWarrior 2012-02-13 19:52:55

il y a un raccourci dans Visual Studio, parce qu'il supporte Git out of the box en 2015 ou au-dessus. Pour les nouvelles solutions (ou certaines qui n'ont pas de dossier .git ), utilisez les fonctionnalités de contrôle source dans Solution Explorer :

faites un clic droit sur dans votre solution et sélectionnez Add Solution to Source Control... dans le menu contextuel.

il initialise automatiquement le dépôt .git , ajoute .gitignore avec les choses nécessaires à votre solution et même .gitattributes fichier (fin de ligne,etc.).

le texte apparaîtra dans la console VS:

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

fait!

4
répondu DenisKolodin 2017-05-22 21:51:40

Voici ce que j'utilise dans mes projets .NET pour mon fichier .gitignore .

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

c'est à peu près une approche entièrement MS, qui utilise le testeur Visual Studio intégré, et un projet qui peut avoir quelques fixations TFS là aussi.

3
répondu Nick Berardi 2010-05-21 13:27:32

comme mentionné par une autre affiche, Visual Studio génère ceci comme une partie de son .gitignore (au moins pour MVC 4):

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

puisque votre projet peut être un sous-dossier de votre solution, et le .le fichier gitignore est stocké dans la solution root, ce qui ne touchera pas les fichiers de la base de données locale (Git les voit à projectfolder/App_Data/*.mdf ). Pour tenir compte de cela, j'ai changé ces lignes comme ceci:

# SQL Server files
*App_Data/*.mdf
*App_Data/*.ldf
3
répondu StevenClontz 2014-02-10 13:54:10