¿Qué archivos debo incluir en .gitignore
cuando usas Git junto con Estudio visual Soluciones (.sln
) y Proyectos?
.gitignore para proyectos y soluciones de Visual Studio
Ver los GitHub oficiales “Colección de útiles .gitignore plantillas”.
los .gitignore
para Visual Studio se puede encontrar aquí:
https://github.com/github/gitignore/blob/main/VisualStudio.gitignore
-
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 de “Publicación” de Visual Studio. Lo ignorará, pero también otras cosas.
– Rex Whitten
20/10/2014 a las 14:43
-
@starfighterxyz si cree que hay un error en gitignore, recomendaría crear una solicitud de extracción.
– Cronial
20/10/2014 a las 18:12
-
Bueno, no sé (¿lo suficiente?) para decir que es un error. Simplemente estaba usando Publish/ 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
30/10/2014 a las 19:39
-
¿Alguna idea de por qué los archivos específicos de Windows como Thumbs.db y Desktop.ini no aparecen en el archivo del enlace mencionado?
– Aprendiz
29 de agosto de 2016 a las 8:22
-
@Learner porque estos están en archivos diferentes. Debe agregarlos a su gitignore global personal, en lugar de registrarlos. github.com/github/gitignore/tree/master/Global
– Cronial
6 de septiembre de 2016 a las 3:29
Hay una herramienta en línea que le permite generar un archivo .gitignore basado en su sistema operativo, IDE, idioma, etc. Eche un vistazo a http://www.gitignore.io/.
El 20/8/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
-
Idealmente, incluiría una licencia dentro del archivo. (Idealmente, esa sería una licencia que no plantea dudas en un entorno corporativo).
–Evgeni Sergeev
25 de febrero de 2019 a las 23:31
-
Además, esto debería tener
.vs/
consulte aquí: stackoverflow.com/a/31879242/1143274–Evgeni Sergeev
25 de febrero de 2019 a las 23:44
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
-
En desacuerdo con
*.resharper
. Coincidencia de archivos*.ReSharper.user
debe ser ignorado, pero eso es atendido por el*.user
regla de arriba.– Drew Noakes
9 de julio de 2012 a las 19:25
-
@DrewNoakes: ¿Cuáles son los archivos de ReSharper que cree que deberían controlarse por revisión?
– Por Lundberg
11/10/2013 a las 19:48
-
@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 usuarios de Resharper mantener el formato del proyecto de manera consistente.
– Marc
29 de junio de 2015 a las 4:41
Para los interesados en lo que microsoft piensa que debería incluirse en el gitignore, aquí está el predeterminado que Visual Studio 2013 RTM
genera automáticamente al crear un nuevo 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
Si bien debe mantener su archivo NuGet packages.config, debe excluir la carpeta de paquetes:
#NuGet
packages/
Por lo general, no almaceno binarios, ni nada generado desde mi fuente, en el control de fuente. Sin embargo, hay diferentes opiniones al respecto. Si facilita las cosas para su sistema de compilación, ¡hágalo! Sin embargo, dirí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 y luego confiar en el archivo packages.config para indicar qué versión se necesita es una mejor solución, en mi opinión.
-
¿A alguien le importa 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 Martínez
3 de enero de 2012 a las 2:51
-
Vale la pena señalar que el equipo de NuGet implementó la característica de ‘restauración del paquete’ exactamente para este problema. Hay una documento en el sitio de NuGet que explica la función y describe cómo usarla en Visual Studio.
– ajk
6 de marzo de 2012 a las 19:54
-
Si ignora los paquetes y usa la restauración de paquetes nuget, es útil permitir nuget.exe. Cuando alguien descarga, esto le dice a VS que la función se ha habilitado para la solución:
!NuGet.exe
<- no ignore este archivo.– danludwig
25 de junio de 2012 a las 18:45
-
Para aquellos de ustedes que usan AppHarbor, vale la pena señalar que excluir la carpeta de paquetes hará que su compilación falle en la implementación 🙂
– Joel Martínez
1 de julio de 2012 a las 3:56
Entiendo que esta es una vieja pregunta, todavía compartiendo una información. En Visual Studio 2017, puede hacer clic derecho en el archivo de solución y seleccionar Agregar solución al control de código fuente
Esto agregará dos archivos a su carpeta de origen.
- .gitattributes
- .gitignore
Esta es la manera más fácil.
-
¿A alguien le importa 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 Martínez
3 de enero de 2012 a las 2:51
-
Vale la pena señalar que el equipo de NuGet implementó la característica de ‘restauración del paquete’ exactamente para este problema. Hay una documento en el sitio de NuGet que explica la función y describe cómo usarla en Visual Studio.
– ajk
6 de marzo de 2012 a las 19:54
-
Si ignora los paquetes y usa la restauración de paquetes nuget, es útil permitir nuget.exe. Cuando alguien descarga, esto le dice a VS que la función se ha habilitado para la solución:
!NuGet.exe
<- no ignore este archivo.– danludwig
25 de junio de 2012 a las 18:45
-
Para aquellos de ustedes que usan AppHarbor, vale la pena señalar que excluir la carpeta de paquetes hará que su compilación falle en la implementación 🙂
– Joel Martínez
1 de julio de 2012 a las 3:56
Prefiero excluir cosas según sea necesario. No desea excluir todo lo que tenga la cadena “bin” u “obj” en el nombre. Por lo menos asegúrese de seguirlos con una barra oblicua.
Esto es con lo que empiezo en un proyecto VS2010:
bin/
obj/
*.suo
*.user
Y solo porque uso ReSharper, también esto:
_ReSharper*
-
Estar de acuerdo. Además, esto va para “depuración”. Agregue la barra diagonal final a esto para evitar ignorar archivos con depuración en el nombre.
– John Korsnes
8 de julio de 2014 a las 13:27
Pregunta relacionada: stackoverflow.com/questions/72298/…
– Greg Hewgill
27 de enero de 2010 a las 1:35
También hay un tema sobre esto para Hg: stackoverflow.com/questions/34784/… . Sin embargo, no sé si esa configuración se puede transferir directamente a git.
– Martín Suchanek
27 de enero de 2010 a las 2:03
Tendría cuidado de ignorar .exe y .pdb, puede ignorar sin darse cuenta las herramientas que almacena con su fuente (nant, nunit gui, etc.).
– James Gregorio
21 de mayo de 2010 a las 13:32
@murki – parece que esta es la respuesta: coderjournal.com/2011/12/…
– Ronnie Overby
25 de enero de 2012 a las 19:19
Con
.sln
archivos 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 Jordan
26 de febrero de 2016 a las 7:52