.gitignore para proyectos y soluciones de Visual Studio

1144

¿Qué archivos debo incluir .gitignoreal usar Git junto con Visual Studio Solutions ( .sln) y Projects?

nik.shornikov
fuente
3
Pregunta relacionada: stackoverflow.com/questions/72298/…
Greg Hewgill
1
Lo convertí en un wiki de la comunidad y he consolidado todas las respuestas existentes en la publicación. ¡Contribuya como mejor le parezca!
Martin Suchanek
12
Sería cuidadoso ignorando .exe y .pdb's, puede ignorar inadvertidamente las herramientas que almacena con su fuente (nant, nunit gui, etc.).
James Gregory
2
@murki - parece que esta es la respuesta: coderjournal.com/2011/12/…
Ronnie Overby
77
Con los .slnarchivos registrados, obtenemos diferencias de ruido como -# Visual Studio 14 -VisualStudioVersion = 14.0.24720.0 +# Visual Studio 2013 +VisualStudioVersion = 12.0.31101.0 ¿Se puede evitar esto?
Jean Jordaan

Respuestas:

592

Vea la "Colección de plantillas .gitignore útiles" oficiales de GitHub .

El .gitignorepara Visual Studio se puede encontrar aquí:
https://github.com/github/gitignore/blob/master/VisualStudio.gitignore

crónica
fuente
8
Tenga en cuenta. Este archivo contiene una entrada para ignorar los archivos publicados. Sin embargo, la forma en que está escrita la regla ignorará cualquier carpeta que haya llamado "Publicar" y, por lo tanto, ignorará todo lo que tenga debajo. No se dirige específicamente a la salida "Publicación" de Visual Studio. Lo ignorará, pero también otras cosas.
Rex Whitten
66
@starfighterxyz si cree que hay un error en el gitignore, recomendaría crear una solicitud de extracción.
Crónica del
99
Bueno, no sé (¿suficiente?) Para decir que es un error. Acabo de estar usando Publicar / como nombre de Controlador, y como nombres de Carpeta de Proyecto. Creo que esto es solo un caso extremo. Solo algo para salvar unas horas de tu vida :)
Rex Whitten
2
@Learner porque estos están en diferentes archivos. Debe agregarlos a su gitignore global personal, en lugar de registrarlos. Github.com/github/gitignore/tree/master/Global
Crónica del
1
@ErikAronesty puede crear un problema o un RP en el repositorio de github. Pero *.userya se ignora, lo que incluye .vcxproj.user.
Crónica del
254

Existe una herramienta en línea que le permite generar archivos .gitignore en función de su sistema operativo, IDE, idioma, etc. Consulte http://www.gitignore.io/ .

ingrese la descripción de la imagen aquí

El 20/08/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
Martin
fuente
Idealmente, incluiría una licencia dentro del archivo. (Idealmente, esa sería una licencia que no plantea preguntas en un entorno corporativo.)
Evgeni Sergeev
Además, esto debería haberlo .vs/visto aquí: stackoverflow.com/a/31879242/1143274
Evgeni Sergeev
110

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
Lachlan Roche
fuente
2
En desacuerdo con *.resharper. Los archivos coincidentes *.ReSharper.userdeben ser ignorados, pero eso es atendido por la *.userregla anterior.
Drew Noakes
1
@DrewNoakes: ¿Cuáles son los archivos ReSharper que crees que deberían ser controlados por revisión?
Según Lundberg el
44
@PerLundberg Una razón que vale la pena considerar es que puede configurar opciones de formato de proyecto estándar, etc., y guardar los archivos de configuración con el proyecto. Si esto está en git, hace que sea más fácil para todos los que usan Resharper mantener el proyecto formateado de manera consistente.
Marc
@DrewNoakes - ¿Alguna sugerencia para esto, por favor?
xameeramir
44

Para aquellos interesados ​​en lo que Microsoft cree que debería incluirse en el gitignore, aquí está el predeterminado que Visual Studio 2013 RTMse 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

Consulte: Agregar un archivo .gitignore predeterminado en MSDN

Mobiletainment
fuente
37

Si bien debe mantener 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 la fuente. Sin embargo, hay diferentes opiniones sobre esto. Si le facilita las cosas a su sistema de compilación, ¡hágalo! Sin embargo, argumentaría que no está versionando estas dependencias, por lo que solo ocuparán espacio en su repositorio. Almacenar los binarios en una ubicación central, luego confiar en el archivo packages.config para indicar qué versión se necesita es una mejor solución, en mi opinión.

revs sgriffinusa
fuente
44
¿Alguien quiere explicar por qué querría excluir la carpeta de paquetes? ¿No tiene sentido incluir los paquetes para que el servidor de compilación tenga las dependencias?
Joel Martinez
14
Vale la pena señalar que el equipo de NuGet implementó la función de 'restauración de paquete' para exactamente este problema. Hay un documento en el sitio NuGet que explica la función y describe cómo usarla en Visual Studio.
ajk
44
Si ignora los paquetes y está utilizando la restauración de paquetes nuget, es útil permitir nuget.exe. Cuando alguien descarga, esto le ayuda a VS a saber que la función se ha habilitado para la solución: !NuGet.exe<- no ignore este archivo.
danludwig
Para aquellos de ustedes que usan AppHarbor, vale la pena señalar que excluir la carpeta de paquetes hará que su compilación falle la implementación :)
Joel Martinez
18

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úrese de seguir a aquellos con una barra oblicua.

Esto es lo que comienzo con un proyecto VS2010:

bin/
obj/
*.suo
*.user

Y solo porque uso ReSharper, también esto:

_ReSharper*
Eben Geer
fuente
De acuerdo. Además, esto se aplica a "depuración". Agregue la barra diagonal final a esto para evitar ignorar los archivos con depuración en el nombre.
John Korsnes
16

Entiendo que esta es una pregunta vieja, que aún comparte información. En Visual Studio 2017, puede hacer clic derecho en el archivo de la solución y seleccionar Agregar solución al control de origen

ingrese la descripción de la imagen aquí

Esto agregará dos archivos a su carpeta de origen.

  1. .gitattributes
  2. .gitignore

Esta es la manera más fácil.

Sibeesh Venu
fuente
11

En Visual Studio 2015 Update 3, y con la extensión de 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/
Rui Bruno Mendes
fuente
3
Me encantó 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
10

En Visual Studio 2015 Team Explorer> Repositorios locales de Git> Proyecto> Configuración> Git> Configuración de repositorio> Ignorar y archivos de atributos. Puede agregar un archivo .gitignore con elementos que deben ignorarse en las soluciones de Visual Studio de forma predeterminada. ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

Hamed Mahdizadeh
fuente
9

InstallShield agregado ignora para la implementación de compilación. InstallShield es la nueva dirección en la que Microsoft se dirige hacia el instalador de Visual Studio, 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 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 ingresen al repositorio.

Aquí está nuestro .gitignore para proyectos VS2010 C # que usan Install Shield LE con implementaciones de 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
~$*
Charleston Software Associates
fuente
1
Cito el comentario de James Gregory aquí: "Sería cuidadoso ignorando .exe y .pdb's, puede ignorar inadvertidamente las herramientas que almacena con su fuente (nant, nunit gui, etc ...). - James Gregory 21 de mayo de 2010 en 13:32 "
Jim Raden
1
En desacuerdo con *.resharper. Los archivos coincidentes *.ReSharper.userdeben ser ignorados, pero eso es atendido por la *.userregla anterior.
Drew Noakes
Solo una aclaración: en realidad, está retrocediendo a InstallShield, que existía antes del instalador de VisualStudio, ¡al menos desde 1998!
Mathieson
7

Sé que este es un hilo antiguo, pero para los nuevos y los viejos que visitan 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 múltiples idiomas / ides ignoren los archivos concatenados en un solo documento.

Hermoso.

Opster Elasticsearch - Nathan
fuente
6

Aquí hay un extracto de un .gitignoreproyecto reciente en el que estaba trabajando. Extraje los que creo que están relacionados con Visual Studio, incluidas las salidas de compilación; es un proyecto multiplataforma, por lo que hay otras reglas de ignorar para archivos producidos por otros sistemas de compilación, y no puedo garantizar que los separe 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é tipos de proyecto.

Brian Campbell
fuente
Vea el comentario de James Gregory sobre otra respuesta: "Sería cuidadoso ignorando .exe y .pdb's, puede ignorar inadvertidamente las herramientas que almacena con su fuente (nant, nunit gui, etc ...). - James Gregory mayo 21 '10 a las 13:32 "
Jim Raden
2
@JimRaden En general, es mejor evitar registrar herramientas binarias en Git. Las mejores prácticas son solo registrar tu fuente en Git; si necesita herramientas binarias, incluya un script para instalarlas o un submódulo con solo esas herramientas.
Brian Campbell
6

Gracias a Jens Lehmann por esto : si mantiene los directorios de origen separados de los archivos de proyecto de su compilador y la salida de compilación, podría simplificar su .gitignore negándolo:

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

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

Steve Folly
fuente
No sabía que había una bandera de negación en .gitignore. ¡Consejo útil!
Jim Raden
6

Tarde a la fiesta aquí, pero también encuentro que uso lo siguiente. Algunos solo pueden ser útiles para ocultar archivos confidenciales cuando se envían a un control 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
fuente
La última versión no necesita ignorar explícitamente nuget.exe
tofutim
@tofutim, ¿la última versión de qué? git en sí?
danludwig
4

Hay un acceso directo en Visual Studio, porque admite Git fuera de la caja en 2015 o superior. Para nuevas soluciones (o algunas que no tienen .gitcarpeta) use las funciones de control de código fuente en el Explorador de soluciones :

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

Inicializa automáticamente el .gitrepositorio, agrega .gitignore las cosas necesarias a su solución e incluso el .gitattributesarchivo (terminaciones de línea, etc.).

El texto aparecerá en la consola VS:

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

¡Hecho!

DenisKolodin
fuente
3

Esto es lo que uso en mis proyectos .NET para mi .gitignorearchivo.

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

Esto es prácticamente todo un enfoque de MS, que utiliza el probador de Visual Studio incorporado, y un proyecto que también puede tener algunos enlaces TFS.

Nick Berardi
fuente
3

Como se menciona en 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 en realidad no tocará los archivos de la base de datos local (Git los ve en projectfolder/App_Data/*.mdf). Para dar cuenta de esto, cambié esas líneas así:

# SQL Server files
*App_Data/*.mdf
*App_Data/*.ldf
StevenClontz
fuente
1
En realidad, git también coincide con patrones relativos a subdirectorios, a menos que los comience con " /", en cuyo caso solo coinciden con elementos en el mismo directorio que el .gitignorearchivo.
SamB
0

Algunos proyectos pueden querer agregar *.manifesta su archivo de estudio visualgitignore.io .

Esto se debe a que algunas propiedades de proyectos de Visual Studio de nuevos proyectos están configuradas para generar un archivo de manifiesto.

Consulte " Generación de manifiesto en Visual Studio "

Pero si los ha generado y son estáticos (no cambian con el tiempo), es una buena idea eliminarlos del .gitignorearchivo.

Eso es lo que acaba de hacer un proyecto como Git para Windows (para Git 2.24, Q4 2019)

Ver commit aac6ff7 (05 Sep 2019) por Johannes Schindelin ( dscho) .
(Fusionada por Junio ​​C Hamano - gitster- en commit 59438be , 30 sep 2019)

.gitignore: deja de ignorar .manifestarchivos

En Windows, es posible incrustar metadatos adicionales en un ejecutable mediante la vinculación en un "manifiesto", es decir, un documento XML que describe capacidades y requisitos (como la versión mínima o máxima de Windows).
Se espera que estos documentos XML se almacenen en .manifestarchivos.

Al menos algunas versiones de Visual Studio generan automáticamente .manifestarchivos cuando ninguno se especifica explícitamente, por lo tanto, solíamos pedirle a Git que los ignorara.

Sin embargo, ahora tenemos un .manifestarchivo hermoso : compat/win32/git.manifestentonces, Visual Studio tampoco genera automáticamente un manifiesto para nosotros, ni queremos que Git ignore los .manifestarchivos.

VonC
fuente
0

Puede crear o editar su archivo .gitignore para su repositorio yendo a la vista Configuración en Team Explorer, luego seleccionando Configuración del repositorio. Seleccione Editar para su .gitignore.

Crea automáticamente filtros que ignorarán todos los directorios de compilación específicos de VS, etc.

ingrese la descripción de la imagen aquí

Más información echa un vistazo aquí .

CharithJ
fuente