.gitignore pour les projets et solutions Visual Studio

1145

Dans quels fichiers dois-je inclure .gitignorelorsque j'utilise Git conjointement avec Visual Studio Solutions ( .sln) et Projects?

nik.shornikov
la source
3
Question connexe: stackoverflow.com/questions/72298/…
Greg Hewgill
1
J'en ai fait un wiki communautaire et j'ai regroupé toutes les réponses existantes dans le message. Veuillez contribuer comme bon vous semble!
Martin Suchanek
12
Je serais prudent en ignorant les fichiers .exe et .pdb, vous pouvez par inadvertance ignorer les outils que vous stockez avec votre source (nant, nunit gui, etc ...).
James Gregory
2
@murki - on dirait que c'est la réponse: coderjournal.com/2011/12/…
Ronnie Overby
7
Avec les .slnfichiers archivés, nous obtenons des différences de bruit telles que -# Visual Studio 14 -VisualStudioVersion = 14.0.24720.0 +# Visual Studio 2013 +VisualStudioVersion = 12.0.31101.0 Cela peut-il être évité?
Jean Jordaan

Réponses:

592

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

Le .gitignorepour Visual Studio peut être trouvé ici:
https://github.com/github/gitignore/blob/master/VisualStudio.gitignore

Chronial
la source
8
Notez s'il vous plaît. Ce fichier contient une entrée pour ignorer les fichiers publiés. Quelle que soit la façon dont la règle est écrite, elle ignorera tout dossier que vous avez appelé "Publier" et ignorera donc tout ce que vous avez en dessous. Il ne cible pas spécifiquement la sortie "Publication" de Visual Studio. Il l'ignorera, mais aussi d'autres choses.
Rex Whitten
6
@starfighterxyz si vous pensez qu'il y a un bug dans le gitignore, je recommanderais de créer une pull request.
Chronial
9
Eh bien, je ne sais pas (assez?) Pour dire que c'est un bug. Je suis juste heureux d'utiliser Publish / comme nom de contrôleur et comme noms de dossier de projet. Je pense que ce n'est qu'un cas de bord. Juste quelque chose pour sauver quelques heures de votre vie :)
Rex Whitten
2
@Learner, car ils se trouvent dans des fichiers différents. Vous devez les ajouter à votre gitignore global personnel, au lieu de les enregistrer. Github.com/github/gitignore/tree/master/Global
Chronial
1
@ErikAronesty, vous pouvez créer un problème ou un PR sur le dépôt github. Mais *.userest déjà ignoré, ce qui comprend .vcxproj.user.
Chronial
254

Il existe un outil en ligne qui vous permet de générer un fichier .gitignore en fonction de votre système d'exploitation, de votre IDE, de votre langue, etc. Consultez http://www.gitignore.io/ .

entrez la description de l'image ici

Le 20/08/2014, voici le fichier 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
Martin
la source
Idéalement, il inclurait une licence dans le fichier. (Idéalement, ce serait une licence qui ne soulève aucune question dans un environnement d'entreprise.)
Evgeni Sergeev
En outre, cela devrait avoir .vs/, voir ici: stackoverflow.com/a/31879242/1143274
Evgeni Sergeev
110

J'utilise le .gitignore suivant pour les projets C #. Des motifs supplémentaires sont ajoutés au fur et à mesure de leurs besoins.

[Oo]bj
[Bb]in
*.user
*.suo
*.[Cc]ache
*.bak
*.ncb
*.log 
*.DS_Store
[Tt]humbs.db 
_ReSharper.*
*.resharper
Ankh.NoLoad
Lachlan Roche
la source
2
En désaccord avec *.resharper. Les correspondances de fichiers *.ReSharper.userdoivent être ignorées, mais cela est pris en compte par la *.userrègle ci-dessus.
Drew Noakes
1
@DrewNoakes: Quels sont les fichiers ReSharper qui, selon vous, devraient être contrôlés par révision?
Per Lundberg
4
@PerLundberg Une raison à considérer est que vous pouvez configurer des options de formatage de projet standard, etc., et enregistrer les fichiers de configuration avec le projet. Si c'est dans git, il est plus facile pour tous ceux qui utilisent Resharper de garder le projet formaté de manière cohérente.
Marc
@DrewNoakes - Avez-vous des suggestions à faire à ce sujet ?
xameeramir
44

Pour ceux qui s'intéressent à ce que Microsoft devrait inclure dans le gitignore, voici celui par défaut qui Visual Studio 2013 RTMgénère automatiquement lors de la création d'un nouveau référentiel 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

Voir: Ajouter un fichier .gitignore par défaut sur MSDN

Mobiletainment
la source
37

Alors que vous devez conserver votre fichier packages.config NuGet, vous devez exclure le dossier packages:

#NuGet
packages/

Je ne stocke généralement pas de fichiers binaires ou tout ce qui est généré à partir de ma source dans le contrôle de source. Il existe cependant des opinions divergentes à ce sujet. Si cela facilite les choses pour votre système de construction, faites-le! Je dirais cependant que vous ne versionnez pas ces dépendances, elles prendront donc juste de la place dans votre référentiel. Stocker les fichiers binaires dans un emplacement central, puis s'appuyer sur le fichier packages.config pour indiquer quelle version est nécessaire est à mon avis une meilleure solution.

sgriffinusa
la source
4
quelqu'un veut-il expliquer pourquoi vous souhaitez exclure le dossier des packages? n'est-il pas logique d'inclure les packages pour que le serveur de build ait les dépendances?
Joel Martinez
14
Il convient de noter que l'équipe NuGet a implémenté la fonctionnalité de «restauration de package» pour exactement ce problème. Il y a un document sur le site NuGet qui explique la fonctionnalité et décrit comment l'utiliser dans Visual Studio.
ajk
4
Si vous ignorez les packages et utilisez la restauration des packages nuget, il est utile d'autoriser nuget.exe. Lorsque quelqu'un télécharge, cela indique à VS que la fonctionnalité a été activée pour la solution: !NuGet.exe<- n'ignorez pas ce fichier.
danludwig
Pour ceux d'entre vous qui utilisent AppHarbor, il convient de noter que l'exclusion du dossier des packages entraînera l'échec du déploiement de votre build :)
Joel Martinez
18

Je préfère exclure les choses au besoin. Vous ne voulez pas que le fusil de chasse exclue tout avec la chaîne "bin" ou "obj" dans le nom. Assurez-vous au moins de suivre ceux avec une barre oblique.

Voici ce que je commence avec un projet VS2010:

bin/
obj/
*.suo
*.user

Et seulement parce que j'utilise ReSharper, aussi ceci:

_ReSharper*
Eben Geer
la source
Se mettre d'accord. Cela vaut également pour le "débogage". Ajoutez la barre oblique de fin à cela pour éviter d'ignorer les fichiers avec un débogage dans le nom.
John Korsnes
16

Je comprends que c'est une vieille question, partageant toujours une information. Dans Visual Studio 2017, vous pouvez simplement cliquer avec le bouton droit sur le fichier de solution et sélectionner Ajouter une solution au contrôle de code source

entrez la description de l'image ici

Cela ajoutera deux fichiers à votre dossier source.

  1. .gitattributes
  2. .gitignore

C'est le moyen le plus simple.

Sibeesh Venu
la source
11

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/
Rui Bruno Mendes
la source
3
J'ai adoré cette partie:Backup & report files from converting an old project file to a newer Visual Studio version. Backup files are not needed, because we have git ;-)
Jeancarlo Fontalvo
10

Dans Visual Studio 2015 Team Explorer> Référentiels Git locaux> Projet> Paramètres> Git> Paramètres du référentiel> Ignorer et fichiers d'attributs.Vous pouvez ajouter un fichier .gitignore avec des éléments qui devraient être ignorés par défaut dans les solutions Visual Studio. entrez la description de l'image ici

entrez la description de l'image ici

Hamed Mahdizadeh
la source
9

InstallShield ajouté ignore pour le déploiement de build. InstallShield est la nouvelle direction vers laquelle Microsoft se dirige vers Visual Studio Installer, nous avons donc commencé à l'utiliser sur tous les nouveaux projets. Cette ligne ajoutée supprime les fichiers d'installation de SingleImage. D'autres types InstallShield peuvent inclure la distribution de DVD entre autres. Vous souhaiterez peut-être ajouter ces noms de répertoire ou simplement [Ee] xpress / pour empêcher tout fichier de déploiement InstallShield LE d'entrer dans le référentiel.

Voici notre .gitignore pour les projets VS2010 C # utilisant Install Shield LE avec les déploiements SingleImage pour le programme d'installation:

#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
~$*
Charleston Software Associates
la source
1
Je cite le commentaire de James Gregory ici: "Je ferais attention en ignorant les fichiers .exe et .pdb, vous pouvez ignorer par inadvertance les outils que vous stockez avec votre source (nant, nunit gui, etc ...). - James Gregory 21 mai 10 à 13:32 "
Jim Raden
1
En désaccord avec *.resharper. Les correspondances de fichiers *.ReSharper.userdoivent être ignorées, mais cela est pris en compte par la *.userrègle ci-dessus.
Drew Noakes
Juste une clarification - il s'agit en fait de revenir à InstallShield, qui existait avant le programme d'installation de VisualStudio, au moins aussi tôt qu'en 1998!
Mathieson
7

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

Beau.

Opster Elasticsearch - Nathan
la source
6

Voici un extrait d'un .gitignoreprojet récent sur lequel je travaillais. J'ai extrait celles qui, selon moi, sont liées à Visual Studio, y compris les sorties de compilation; il s'agit d'un projet multiplateforme, il existe donc diverses autres règles d'ignorance pour les fichiers produits par d'autres systèmes de génération, et je ne peux pas garantir que je les ai séparées exactement.

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

Peut-être que cette question devrait être Community Wiki, afin que nous puissions tous éditer ensemble une liste principale avec des commentaires sur les fichiers à ignorer pour quels types de projet?

Brian Campbell
la source
Voir le commentaire de James Gregory sur une autre réponse: "Je ferais attention à ignorer les fichiers .exe et .pdb, vous pouvez ignorer par inadvertance les outils que vous stockez avec votre source (nant, nunit gui, etc ...). - James Gregory 21 mai 2010 à 13:32 "
Jim Raden
2
@JimRaden En général, il est préférable d'éviter l'archivage des outils binaires dans Git. Les meilleures pratiques consistent à archiver uniquement votre source dans Git; si vous avez besoin d'outils binaires, incluez un script pour les installer ou un sous-module avec juste ces outils.
Brian Campbell
6

Merci à Jens Lehmann pour celui-ci - si vous gardez les répertoires source séparés de vos fichiers de projet de compilateur et générez la sortie, vous pouvez simplifier votre .gitignore en le niant:

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

Vous ne dites pas quelle langue vous utilisez, mais ce qui précède devrait fonctionner pour les projets C ++.

Steve Folly
la source
Je ne savais pas qu'il y avait un drapeau de négation dans .gitignore. Conseil utile!
Jim Raden
6

Tard à la fête ici, mais je trouve aussi que j'utilise ce qui suit. Certains peuvent être utiles uniquement pour masquer des fichiers sensibles lors de la transmission à 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/
danludwig
la source
La dernière version n'a pas besoin d'annuler explicitement nuget.exe
tofutim
@tofutim, la dernière version de quoi? se git?
danludwig
4

Il existe un raccourci dans Visual Studio, car il prend en charge Git prêt à l'emploi en 2015 ou au-dessus. Pour les nouvelles solutions (ou certaines qui n'ont pas de .gitdossier), utilisez les fonctionnalités de contrôle de source dans l' Explorateur de solutions :

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

Il initialise automatiquement le .gitréférentiel, ajoute .gitignore les éléments nécessaires à votre solution et même au .gitattributesfichier (fins 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.

Terminé!

DenisKolodin
la source
3

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

[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 également contenir des liaisons TFS.

Nick Berardi
la source
3

Comme mentionné par une autre affiche, Visual Studio génère cela dans le cadre de son .gitignore (au moins pour MVC 4):

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

Étant donné que votre projet peut être un sous-dossier de votre solution et que le fichier .gitignore est stocké à la racine de la solution, cela ne touchera en fait 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 suit:

# SQL Server files
*App_Data/*.mdf
*App_Data/*.ldf
StevenClontz
la source
1
En fait, git fait correspondre les modèles relatifs aux sous-répertoires, à moins que vous ne les commenciez par " /", auquel cas ils ne correspondent qu'aux éléments du même répertoire que le .gitignorefichier.
SamB
0

Certains projets pourraient vouloir ajouter *.manifestà leur fichier Visual Studiogitignore.io .

En effet, certaines propriétés de projet Visual Studio de nouveaux projets sont définies pour générer un fichier manifeste.

Voir " Génération de manifeste dans Visual Studio "

Mais si vous les avez générés et qu'ils sont statiques (ne changent pas avec le temps), alors c'est une bonne idée de les supprimer du .gitignorefichier.

C'est ce qu'un projet comme Git pour Windows vient de faire (pour Git 2.24, Q4 2019)

Voir commit aac6ff7 (05 sept. 2019) par Johannes Schindelin ( dscho) .
(Fusionné par Junio ​​C Hamano - gitster- en commit 59438be , 30 sept. 2019)

.gitignore: arrêtez d'ignorer les .manifestfichiers

Sous Windows, il est possible d'incorporer des métadonnées supplémentaires dans un exécutable en reliant un "manifeste", c'est-à-dire un document XML qui décrit les capacités et les exigences (telles que la version Windows minimale ou maximale).
Ces documents XML devraient être stockés dans des .manifestfichiers.

Au moins certaines versions de Visual Studio génèrent automatiquement des .manifestfichiers lorsqu'aucun n'est spécifié explicitement, c'est pourquoi nous demandions à Git de les ignorer.

Cependant, nous avons .manifestmaintenant un beau fichier compat/win32/git.manifest:, donc Visual Studio ne génère pas automatiquement un manifeste pour nous, et nous ne voulons pas non plus que Git ignore les .manifestfichiers.

VonC
la source
0

Vous pouvez créer ou modifier votre fichier .gitignore pour votre référentiel en accédant à la vue Paramètres dans Team Explorer, puis en sélectionnant Paramètres du référentiel. Sélectionnez Modifier pour votre .gitignore.

Il crée automatiquement des filtres qui ignoreront tous les répertoires de construction spécifiques à VS, etc.

entrez la description de l'image ici

Plus d'informations jetez un œil ici .

CharithJ
la source