.gitignore para projetos e soluções do Visual Studio

1144

Quais arquivos devo incluir .gitignoreao usar o Git em conjunto com o Visual Studio Solutions ( .sln) e Projects?

nik.shornikov
fonte
3
Pergunta relacionada: stackoverflow.com/questions/72298/…
Greg Hewgill
1
Eu fiz isso em um wiki da comunidade e consolidou todas as respostas existentes no post. Contribua como achar melhor!
Martin Suchanek
12
Seria cuidadoso ao ignorar os arquivos .exe e .pdb, pois você pode ignorar inadvertidamente as ferramentas armazenadas com sua fonte (nant, nunit gui, etc ...).
James Gregory
2
@murki - parece que esta é a resposta: coderjournal.com/2011/12/…
Ronnie Overby
7
Com os .slnarquivos registrados, obtemos diferenças de ruído como: -# Visual Studio 14 -VisualStudioVersion = 14.0.24720.0 +# Visual Studio 2013 +VisualStudioVersion = 12.0.31101.0 Isso pode ser evitado?
21416 Jean Jordaan

Respostas:

592

Veja a "Coleção oficial de modelos .gitignore úteis" do GitHub .

O .gitignorepara o Visual Studio pode ser encontrado aqui:
https://github.com/github/gitignore/blob/master/VisualStudio.gitignore

Cronais
fonte
8
Observe. Este arquivo contém uma entrada para ignorar os arquivos publicados. No entanto, da maneira que a regra é escrita, ela ignorará qualquer pasta que você tenha chamado "Publicar" e, portanto, ignorará qualquer coisa que você tenha embaixo dela. Ele não visa especificamente a saída "Publicação" do Visual Studio. Irá ignorá-lo, mas também outras coisas.
Rex Whitten
6
@starfighterxyz se você acha que há um bug no gitignore, eu recomendaria a criação de uma solicitação de recebimento.
Cronial
9
Bem, eu não sei (o suficiente?) Para dizer que é um bug. Acabei de usar Publish / como um nome de Controller e como nomes de pastas de projeto. Eu acho que este é apenas um caso de ponta. Apenas algo para salvar algumas horas de sua vida :)
Rex Whitten
2
@ Aluno porque estes estão em arquivos diferentes. Você deve adicioná-los ao seu gitignore global pessoal, em vez de verificá-los. Github.com/github/gitignore/tree/master/Global
Chronial
1
@ErikAronesty, você pode criar um problema ou um PR no repositório do github. Mas *.userjá é ignorado, o que inclui .vcxproj.user.
Cronial
254

Existe uma ferramenta on-line que permite gerar arquivos .gitignore com base em seu sistema operacional, IDE, idioma etc. Dê uma olhada em http://www.gitignore.io/ .

insira a descrição da imagem aqui

Em 20/08/2014, eis o arquivo gerado para o 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
fonte
Idealmente, incluiria uma licença dentro do arquivo. (Idealmente, isso seria uma licença que não levanta questões em um ambiente corporativo.)
Evgeni Sergeev
Além disso, isso deve ter .vs/, veja aqui: stackoverflow.com/a/31879242/1143274
Evgeni Sergeev
110

Eu uso o seguinte .gitignore para projetos de C #. Padrões adicionais são adicionados como e quando são necessários.

[Oo]bj
[Bb]in
*.user
*.suo
*.[Cc]ache
*.bak
*.ncb
*.log 
*.DS_Store
[Tt]humbs.db 
_ReSharper.*
*.resharper
Ankh.NoLoad
Lachlan Roche
fonte
2
Não concordo *.resharper. Os arquivos correspondentes *.ReSharper.userdevem ser ignorados, mas isso é atendido pela *.userregra acima.
de Drew Noakes
1
@DrewNoakes: Quais são os arquivos do ReSharper que você acredita que devem ser controlados por revisão?
Per Lundberg
4
@PerLundberg Um motivo que vale a pena considerar é que você pode configurar as opções de formatação padrão do projeto, etc, e salvar os arquivos de configuração com o projeto. Se estiver no git, será mais fácil para todos que usam o Resharper manter o projeto formatado de forma consistente.
Marc
@DrewNoakes - Alguma sugestão para isso, por favor?
Xameeramir
44

Para aqueles interessados ​​no que a Microsoft acha que deve ser incluído no gitignore, eis o padrão que Visual Studio 2013 RTMé gerado automaticamente ao criar um novo 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

Consulte: Adicionar um arquivo .gitignore padrão no MSDN

Mobiletainment
fonte
37

Enquanto você deve manter o arquivo NuGet packages.config, você deve excluir a pasta packages:

#NuGet
packages/

Normalmente não armazeno binários ou qualquer coisa gerada a partir da minha fonte no controle de origem. Existem opiniões diferentes sobre isso, no entanto. Se isso facilitar as coisas para o seu sistema de compilação, faça-o! Eu diria, no entanto, que você não está versionando essas dependências, portanto elas ocuparão espaço no seu repositório. Armazenar os binários em um local central e depois confiar no arquivo packages.config para indicar qual versão é necessária é uma solução melhor, na minha opinião.

sgriffinusa
fonte
4
alguém gostaria de explicar por que você deseja excluir a pasta packages? não faz sentido incluir os pacotes para o servidor de compilação ter as dependências?
Joel Martinez
14
Vale ressaltar que a equipe do NuGet implementou o recurso 'restauração de pacotes' exatamente para esse problema. Há um documento no site do NuGet que explica o recurso e descreve como usá-lo no Visual Studio.
31412 ajk
4
Se você ignorar pacotes e estiver usando a restauração de pacotes nuget, é útil permitir o nuget.exe. Quando alguém faz o download, isso informa ao VS que o recurso foi ativado para a solução: !NuGet.exe<- não ignore este arquivo.
22412 Danludwig
Para aqueles de vocês usando AppHarbor, vale a pena notar que, excluindo os pacotes pasta fará com que a sua construção a falhar implantação :)
Joel Martinez
18

Prefiro excluir as coisas conforme necessário. Você não quer que a espingarda exclua tudo com a string "bin" ou "obj" no nome. Pelo menos, não se esqueça de seguir aqueles com uma barra.

Aqui está o que começo em um projeto do VS2010:

bin/
obj/
*.suo
*.user

E somente porque eu uso o ReSharper, também este:

_ReSharper*
Eben Geer
fonte
Aceita. Além disso, isso vale para "depurar". Adicione a barra à direita para evitar ignorar arquivos com depuração no nome.
John Korsnes
16

Entendo que esta é uma pergunta antiga, ainda compartilhando uma informação. No Visual Studio 2017, você pode apenas clicar com o botão direito do mouse no arquivo da solução e selecionar Adicionar solução ao controle de origem

insira a descrição da imagem aqui

Isso adicionará dois arquivos à sua pasta de origem.

  1. .gitattributes
  2. .gitignore

Esta é a maneira mais fácil.

Sibeesh Venu
fonte
11

No Visual Studio 2015, atualização 3, e com a extensão Git atualizada a partir de hoje (24/10/2016), o .gitignore gerado pelo 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/
Rui Bruno Mendes
fonte
3
Eu amei esta 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 5/17
10

No Visual Studio 2015 Team Explorer> Repositórios Locais do Git> Projeto> Configurações> Git> Configurações do Repositório> Ignorar e Atribuir Arquivos. Você pode adicionar o arquivo .gitignore com os itens que devem ser ignorados nas soluções do visual studio por padrão. insira a descrição da imagem aqui

insira a descrição da imagem aqui

Hamed Mahdizadeh
fonte
9

Adicionado InstallShield ignora para a implantação da compilação. InstallShield é a nova direção da Microsoft sobre o Visual Studio Installer, por isso começamos a usá-lo em todos os novos projetos. Essa linha adicionada remove os arquivos de instalação do SingleImage. Outros tipos do InstallShield podem incluir distribuição de DVD, entre outros. Você pode adicionar esses nomes de diretório ou apenas [Ee] xpress / para impedir que os arquivos de implantação do InstallShield LE entrem no repositório.

Aqui está o nosso .gitignore para projetos de C # do VS2010 usando as implantações do Install Shield LE com SingleImage para o 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
~$*
Charleston Software Associates
fonte
1
Cito o comentário de James Gregory aqui: "Seria cuidadoso em ignorar os arquivos .exe e .pdb, pois você pode inadvertidamente ignorar as ferramentas que armazena com sua fonte (nant, nunit gui, etc ...)." - James Gregory 13:32 "
Jim Raden
1
Não concordo *.resharper. Os arquivos correspondentes *.ReSharper.userdevem ser ignorados, mas isso é atendido pela *.userregra acima.
de Drew Noakes
Apenas um esclarecimento - na verdade, ele está voltando para o InstallShield, que existia antes do instalador do VisualStudio, pelo menos em 1998!
Mathieson
7

Eu sei que esse é um tópico antigo, mas para os novos e antigos que visitam esta página, existe um site chamado gitignore.io que pode gerar esses arquivos. Pesquise "visualstudio" ao desembarcar no site e ele gerará esses arquivos para você. Você também pode fazer com que vários idiomas / ides ignorem os arquivos concatenados em um único documento.

Bonita.

Opster Elasticsearch - Nathan
fonte
6

Aqui está um extrato de um .gitignoreprojeto recente em que eu estava trabalhando. Eu extraí aqueles que acredito estarem relacionados ao Visual Studio, incluindo as saídas de compilação; é um projeto de plataforma cruzada; portanto, existem várias outras regras de ignorância para arquivos produzidos por outros sistemas de compilação e não posso garantir que os tenha separado exatamente.

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

Talvez essa pergunta deva ser um Community Wiki, para que todos possamos editar juntos uma lista principal com comentários sobre quais arquivos devem ser ignorados para quais tipos de projeto?

Brian Campbell
fonte
Veja o comentário de James Gregory em outra resposta: "Seria cuidadoso em ignorar os arquivos .exe e .pdb. Você pode inadvertidamente ignorar as ferramentas armazenadas com sua fonte (nant, nunit gui, etc ...). - James Gregory 21 de maio de 10 às 13:32 "
Jim Raden
2
@ JimRaden Em geral, é melhor evitar o check-in de ferramentas binárias no Git. As práticas recomendadas são apenas verificar sua fonte no Git; se você precisar de ferramentas binárias, inclua um script para instalá-las ou um submódulo com apenas essas ferramentas.
Brian Campbell
6

Os nossos agradecimentos a Jens Lehmann por este - se você mantiver os diretórios de origem separados dos arquivos de projeto do compilador e criar a saída, poderá simplificar o seu .gitignore negando-o:

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

Você não diz que idioma (s) você está usando, mas o acima deve funcionar para projetos C ++.

Steve Folly
fonte
Eu não sabia que havia uma bandeira de negação no .gitignore. Dica útil!
perfil completo de Jim Raden
6

Tarde para a festa aqui, mas também acho que uso o seguinte. Alguns podem ser úteis apenas para ocultar arquivos confidenciais ao enviar para um controle 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/
danludwig
fonte
A versão mais recente não precisa designorar explicitamente o nuget.exe
tofutim
@tofutim, a versão mais recente do quê? git em si?
danludwig
4

Existe um atalho no Visual Studio, porque ele suporta o Git imediatamente em 2015 ou acima. Para novas soluções (ou algumas que não possuem .gitpasta), use os recursos de controle de origem no Solution Explorer :

Clique com o botão direito do mouse na sua solução e selecioneAdd Solution to Source Control... item no menu pop-up.

Inicializa automaticamente .git repositório, adiciona .gitignore as coisas necessárias à sua solução e até.gitattributes arquivo (finais de linha, etc.).

O texto aparecerá no console do VS:

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

Feito!

DenisKolodin
fonte
3

Aqui está o que eu uso nos meus Projetos .NET para o meu .gitignorearquivo.

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

Essa é praticamente uma abordagem totalmente MS, que usa o testador incorporado do Visual Studio e um projeto que também pode ter algumas ligações TFS.

Nick Berardi
fonte
3

Conforme mencionado em outro pôster, o Visual Studio gera isso como parte de seu .gitignore (pelo menos para o MVC 4):

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

Como o seu projeto pode ser uma subpasta da sua solução, e o arquivo .gitignore é armazenado na raiz da solução, isso na verdade não toca nos arquivos do banco de dados local (o Git os vê em projectfolder/App_Data/*.mdf). Para explicar isso, mudei essas linhas da seguinte maneira:

# SQL Server files
*App_Data/*.mdf
*App_Data/*.ldf
StevenClontz
fonte
1
Na verdade, o git também corresponde aos padrões relativos aos subdiretórios, a menos que você os inicie com " /"; nesse caso, eles apenas correspondem ao mesmo diretório do .gitignorearquivo.
SamB 5/10
0

Algum projeto pode querer adicionar *.manifestao arquivo do visual studiogitignore.io .

Isso porque alguns propriedades de novos projetos do Visual Studio estão definidas para gerar um arquivo de manifesto.

Consulte " Geração de manifesto no Visual Studio "

Mas se você os gerou e eles são estáticos (não mudam com o tempo), convém removê-los do .gitignore arquivo.

É assim que um projeto como o Git for Windows acabou de fazer (para o Git 2.24, quarto trimestre de 2019)

Veja commit aac6ff7 (05 set 2019) por Johannes Schindelin ( dscho) .
(Incorporado por Junio ​​C Hamano - gitster- in commit 59438be , 30 de setembro de 2019)

.gitignore: parar de ignorar .manifestarquivos

No Windows, é possível incorporar metadados adicionais em um executável vinculando um "manifesto", ou seja, um documento XML que descreve recursos e requisitos (como a versão mínima ou máxima do Windows).
Esses documentos XML devem ser armazenados em.manifest arquivos.

Finalmente algumas versões do Visual Studio geram automaticamente.manifest arquivos quando nenhum é especificado explicitamente; portanto, solicitávamos ao Git que os ignorasse.

No entanto, agora temos um .manifestarquivo bonito : compat/win32/git.manifestassim, o Visual Studio não gera automaticamente um manifesto para nós, nem queremos que o Git ignore mais os .manifestarquivos.

VonC
fonte
0

Você pode criar ou editar seu arquivo .gitignore para seu repositório, indo para o modo de exibição Configurações no Team Explorer e selecionando Configurações do Repositório. Selecione Editar para o seu .gitignore.

Ele cria automaticamente filtros que ignoram todos os diretórios de compilação específicos do VS etc.

insira a descrição da imagem aqui

Mais informações, dê uma olhada aqui .

CharithJ
fonte