.gitignore per progetti e soluzioni di Visual Studio


1144

Quali file dovrei includere .gitignorequando uso Git in combinazione con Visual Studio Solutions ( .sln) e progetti?



1
L'ho trasformato in un wiki della comunità e ho consolidato tutte le risposte esistenti nel post. Si prega di contribuire come meglio credi!
Martin Suchanek,

12
Starei attento a ignorare .exe e .pdb, potresti inavvertitamente ignorare gli strumenti che memorizzi con il tuo sorgente (nant, nunit gui, ecc ...).
James Gregory,

2
@murki - sembra che questa sia la risposta: coderjournal.com/2011/12/…
Ronnie Overby

7
Con i .slnfile registrati, otteniamo differenze di rumore come -# Visual Studio 14 -VisualStudioVersion = 14.0.24720.0 +# Visual Studio 2013 +VisualStudioVersion = 12.0.31101.0 questo può essere evitato?
Jean Jordaan,

Risposte:


592

Guarda la "Collezione di modelli .gitignore utili" di GitHub ufficiale .

Il .gitignoreper Visual Studio può essere trovato qui:
https://github.com/github/gitignore/blob/master/VisualStudio.gitignore


8
Notare che. Questo file contiene una voce per ignorare i file pubblicati. Tuttavia, nel modo in cui la regola viene scritta, ignorerà qualsiasi cartella che hai chiamato "Pubblica" e quindi ignorerà tutto ciò che hai sotto. Non si rivolge specificamente all'output "Pubblicazione" di Visual Studio. Lo ignorerà, ma anche altre cose.
Rex Whitten,

6
@starfighterxyz se pensi che ci sia un bug in gitignore, consiglierei di creare una richiesta pull.
Cronologico

9
Beh, non so (abbastanza?) Per dire che è un bug. Sono solo felice di usare Pubblica / come nome del controller e come nomi delle cartelle di progetto. Penso che questo sia solo un caso limite. Solo qualcosa per salvare alcune ore della tua vita :)
Rex Whitten,

2
@Learner perché questi sono in file diversi. Dovresti aggiungerli al tuo personale gitignore globale, invece di archiviarli. Github.com/github/gitignore/tree/master/Global
Chronial

1
@ErikAronesty è possibile creare un problema o un PR sul repository github. Ma *.userè già ignorato, che include .vcxproj.user.
Cronologico

254

C'è uno strumento online che ti consente di generare file .gitignore in base al tuo sistema operativo, IDE, lingua, ecc. Dai un'occhiata a http://www.gitignore.io/ .

inserisci qui la descrizione dell'immagine

Il 20/08/2014, ecco il file che viene generato per 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

Idealmente, includerebbe una licenza all'interno del file. (Idealmente, sarebbe una licenza che non solleva domande in un ambiente aziendale.)
Evgeni Sergeev,

Inoltre, questo dovrebbe avere .vs/, vedi qui: stackoverflow.com/a/31879242/1143274
Evgeni Sergeev

110

Uso il seguente .gitignore per i progetti C #. Ulteriori schemi vengono aggiunti come e quando sono necessari.

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

2
Non sono d'accordo con *.resharper. La corrispondenza dei file *.ReSharper.userdeve essere ignorata, ma è soddisfatta dalla *.userregola sopra.
Drew Noakes,

1
@DrewNoakes: quali sono i file ReSharper che ritieni debbano essere controllati da una revisione?
Per Lundberg,

4
@PerLundberg Uno dei motivi da considerare è che puoi configurare le opzioni standard di formattazione del progetto, ecc. E salvare i file di configurazione con il progetto. Se questo è in git, rende più facile per tutti coloro che usano Resharper mantenere il progetto formattato in modo coerente.
Marc,

@DrewNoakes - Qualche suggerimento per questo, per favore?
xameeramir,

44

Per coloro che sono interessati a ciò che Microsoft pensa dovrebbe essere incluso in gitignore, ecco quello predefinito che Visual Studio 2013 RTMsi genera automaticamente quando si crea un nuovo 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

Vedi: Aggiungi un file .gitignore predefinito su MSDN


37

Mentre dovresti conservare il tuo file colks.config NuGet, dovresti escludere la cartella dei pacchetti:

#NuGet
packages/

In genere non memorizzo i file binari o qualsiasi cosa generata dalla mia fonte nel controllo del codice sorgente. Ci sono opinioni diverse su questo tuttavia. Se semplifica le cose per il tuo sistema di compilazione, fallo! Direi comunque che non stai controllando queste dipendenze, quindi occuperanno solo spazio nel tuo repository. Conservare i binari in una posizione centrale, quindi fare affidamento sul file packages.config per indicare quale versione è necessaria è una soluzione migliore, secondo me.


4
a qualcuno interessa approfondire il motivo per cui vorresti escludere la cartella dei pacchetti? non ha senso includere i pacchetti per il server di build con le dipendenze?
Joel Martinez,

14
Vale la pena notare che il team NuGet ha implementato la funzione di "ripristino del pacchetto" proprio per questo problema. C'è un documento sul sito NuGet che spiega la funzionalità e descrive come usarlo in Visual Studio.
Aj

4
Se si ignorano i pacchetti e si utilizza il ripristino del pacchetto nuget, è utile consentire nuget.exe. Quando qualcuno scarica, questo indica a VS che la funzione è stata abilitata per la soluzione: !NuGet.exe<- non ignorare questo file.
Danludwig,

Per quelli di voi che usano AppHarbor, vale la pena notare che l'esclusione della cartella dei pacchetti causerà un errore nella distribuzione della build :)
Joel Martinez,

18

Preferisco escludere le cose secondo necessità. Non si desidera che il fucile da caccia escluda tutto con la stringa "bin" o "obj" nel nome. Almeno assicurati di seguire quelli con una barra.

Ecco cosa inizio con un progetto VS2010:

bin/
obj/
*.suo
*.user

E solo perché uso ReSharper, anche questo:

_ReSharper*

Essere d'accordo. Inoltre, questo vale per "debug". Aggiungi la barra finale a questo per evitare di ignorare i file con debug nel nome.
John Korsnes,

16

Capisco che questa è una vecchia domanda, condividendo ancora un'informazione. In Visual Studio 2017, puoi semplicemente fare clic con il pulsante destro del mouse sul file della soluzione e selezionare Aggiungi soluzione al controllo del codice sorgente

inserisci qui la descrizione dell'immagine

Ciò aggiungerà due file alla cartella di origine.

  1. .gitattributes
  2. .gitignore

Questo è il modo più semplice.


11

Nell'aggiornamento 3 di Visual Studio 2015 e con l'estensione Git aggiornata oggi (24-10-2016), il .gitignore generato da Visual Studio è:

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

3
Ho adorato questa parte: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 il

10

In Visual Studio 2015 Team Explorer> Repository Git locali> Progetto> Impostazioni> Git> Impostazioni repository> Ignora e file di attributi. È possibile aggiungere file .gitignore con gli elementi che devono essere ignorati nelle soluzioni di Visual Studio per impostazione predefinita. inserisci qui la descrizione dell'immagine

inserisci qui la descrizione dell'immagine


9

InstallShield aggiunto ignora la distribuzione build. InstallShield è la nuova direzione che Microsoft dirige su Visual Studio Installer, quindi abbiamo iniziato a usarlo su tutti i nuovi progetti. Questa riga aggiunta rimuove i file di installazione di SingleImage. Altri tipi di InstallShield possono includere la distribuzione di DVD tra gli altri. Potresti voler aggiungere quei nomi di directory o solo [Ee] xpress / per impedire a qualsiasi file di distribuzione di InstallShield LE di entrare nel repository.

Ecco il nostro .gitignore per i progetti VS2010 C # che utilizzano Install Shield LE con distribuzioni SingleImage per l'installer:

#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
~$*

1
Cito qui il commento di James Gregory: "Starei attento ignorando .exe e .pdb, potresti inavvertitamente ignorare gli strumenti che memorizzi con la tua fonte (nant, nunit gui, ecc ...). - James Gregory, 21 maggio 10 a 13:32 "
Jim Raden,

1
Non sono d'accordo con *.resharper. La corrispondenza dei file *.ReSharper.userdeve essere ignorata, ma è soddisfatta dalla *.userregola sopra.
Drew Noakes,

Solo un chiarimento: in realtà sta tornando a InstallShield, che esisteva prima del programma di installazione di VisualStudio, almeno fino al 1998!
Mathieson,

7

So che questo è un vecchio thread ma per i vecchi e i nuovi che visitano questa pagina, c'è un sito web chiamato gitignore.io che può generare questi file. Cerca "visualstudio" all'atterraggio sul sito Web e genererà questi file per te, inoltre puoi avere più lingue / ID ignorare i file concatenati in un unico documento.

Bellissimo.


6

Ecco un estratto di .gitignoreun recente progetto a cui stavo lavorando. Ho estratto quelli che ritengo siano correlati a Visual Studio, inclusi gli output di compilazione; è un progetto multipiattaforma, quindi ci sono varie altre regole da ignorare per i file prodotti da altri sistemi di compilazione e non posso garantire di averle separate esattamente.

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

Forse questa domanda dovrebbe essere Community Wiki, quindi tutti possiamo modificare insieme un elenco principale con commenti su quali file dovrebbero essere ignorati per quali tipi di progetto?


Vedi il commento di James Gregory su un'altra risposta: "Starei attento a ignorare .exe e .pdb, potresti inavvertitamente ignorare gli strumenti che archivi con la tua fonte (nant, nunit gui, ecc ...). - James Gregory, 21 maggio 10 alle 13:32 "
Jim Raden,

2
@JimRaden In generale, è meglio evitare di archiviare strumenti binari in Git. Le migliori pratiche sono di fare il check in della tua fonte su Git; se hai bisogno di strumenti binari, includi uno script per installarli o un sottomodulo con solo quegli strumenti.
Brian Campbell,

6

Ringraziamo Jens Lehmann per questo : se tenete le directory dei sorgenti separate dai file del progetto del compilatore e costruite l'output, potreste semplificare il vostro .gitignore negandolo:

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

Non dici quale lingua (e) stai usando, ma quanto sopra dovrebbe funzionare per i progetti C ++.


Non sapevo che ci fosse una bandiera di negazione in .gitignore. Suggerimento utile!
Jim Raden,

6

In ritardo alla festa qui, ma trovo anche che uso quanto segue. Alcuni possono essere utili solo per nascondere file sensibili quando si passa a un telecomando pubblico .

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

L'ultima versione non ha bisogno di unignore esplicito nuget.exe
tofutim

@tofutim, l'ultima versione di cosa? git stesso?
danludwig,


4

C'è un collegamento in Visual Studio, perché supporta Git pronto all'uso nel 2015 o versioni successive. Per le nuove soluzioni (o alcune che non dispongono di .gitcartella) utilizzare le funzionalità di controllo del codice sorgente in Esplora soluzioni :

Fare clic con il tasto destro del mouse sulla soluzione e selezionare l' Add Solution to Source Control...elemento nel menu popup.

Inizializza automaticamente il .gitrepository, aggiunge .gitignore le cose necessarie alla soluzione e persino il .gitattributesfile (terminazioni di riga, ecc.).

Il testo verrà visualizzato nella console VS:

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

Fatto!


3

Ecco cosa uso nei miei progetti .NET per il mio .gitignorefile.

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

Questo è praticamente un approccio tutto MS, che utilizza il tester integrato di Visual Studio e un progetto che può contenere anche alcuni collegamenti TFS.


3

Come menzionato da un altro poster, Visual Studio genera questo come parte del suo .gitignore (almeno per MVC 4):

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

Poiché il tuo progetto potrebbe essere una sottocartella della tua soluzione e il file .gitignore è archiviato nella radice della soluzione, questo in realtà non toccherà i file del database locale (Git li vede su projectfolder/App_Data/*.mdf). Per tener conto di ciò, ho modificato quelle righe in questo modo:

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

1
In realtà, git abbina anche i modelli relativi alle sottodirectory, a meno che tu non li inizi con " /", nel qual caso corrispondono solo alle cose nella stessa directory del .gitignorefile.
SamB,

0

Alcuni progetti potrebbero voler aggiungere *.manifest al loro file di Visual Studiogitignore.io .

Questo perché alcune proprietà del progetto Visual Studio dei nuovi progetti sono impostate per generare un file manifest.

Vedi " Generazione manifest in Visual Studio "

Ma se li hai generati e sono statici (non cambiano nel tempo), allora è una buona idea rimuoverli dal .gitignorefile.

Ecco come piace un progetto appena fatto Git per Windows (per Git 2.24, Q4 2019)

Vedi commit aac6ff7 (05 set 2019) di Johannes Schindelin ( dscho) .
(Unita da Junio ​​C Hamano - gitster- in commit 59438be , 30 set 2019)

.gitignore: smettere di ignorare .manifest file

Su Windows, è possibile incorporare metadati aggiuntivi in ​​un eseguibile collegando un "manifest", ovvero un documento XML che descrive funzionalità e requisiti (come la versione minima o massima di Windows).
Questi documenti XML dovrebbero essere archiviati in .manifestfile.

Almeno alcune versioni di Visual Studio generano automaticamente i .manifestfile quando nessuno è specificato in modo esplicito, quindi chiedevamo a Git di ignorarli.

Tuttavia, ora abbiamo un bellissimo .manifestfile:, compat/win32/git.manifestquindi Visual Studio non genera automaticamente un manifest per noi, né vogliamo che Git ignori più i .manifestfile.


0

È possibile creare o modificare il file .gitignore per il proprio repository accedendo alla vista Impostazioni in Esplora team, quindi selezionando Impostazioni repository. Seleziona Modifica per il tuo .gitignore.

Crea automaticamente filtri che ignoreranno tutte le directory di build specifiche VS ecc.

inserisci qui la descrizione dell'immagine

Maggiori informazioni dai un'occhiata qui .

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.