Pregunta

¿Cuál es una buena configuración para el archivo .hgignore cuando se trabaja con Visual Studio 2008?

Principalmente desarrollo por mi cuenta, solo ocasionalmente clono el repositorio para que alguien más trabaje en él.

Estoy pensando en carpetas obj, archivos .suo, .sln, .user, etc.¿Se pueden incluir simplemente o hay archivos que no debería incluir?

¡Gracias!

PD.:por el momento hago lo siguiente:ignore todos los archivos .pdb y todas las carpetas obj.

# regexp syntax.
syntax: glob
*.pdb

syntax: regexp
/obj/
¿Fue útil?

Solución

Aquí está mi archivo .hgignore estándar para usar con VS2008 que se modificó originalmente a partir de un archivo ignorado de Git:

# Ignore file for Visual Studio 2008

# use glob syntax
syntax: glob

# Ignore Visual Studio 2008 files
*.obj
*.exe
*.pdb
*.user
*.aps
*.pch
*.vspscc
*_i.c
*_p.c
*.ncb
*.suo
*.tlb
*.tlh
*.bak
*.cache
*.ilk
*.log
*.lib
*.sbr
*.scc
[Bb]in
[Dd]ebug*/
obj/
[Rr]elease*/
_ReSharper*/
[Tt]est[Rr]esult*
[Bb]uild[Ll]og.*
*.[Pp]ublish.xml

Otros consejos

Esto es específico de un proyecto de C#, pero ignoro estos archivos/directorios:

  • *.csproj.user
  • /obj/*
  • /bin/*
  • *.ncb
  • *.suo

No tengo problemas para ejecutar el código en el depósito en otras máquinas después de ignorar todos estos archivos.La forma más sencilla de saber qué necesita conservar es hacer una copia de la carpeta y comenzar a eliminar las cosas que crea que no son necesarias.Continúe intentando compilar y, mientras pueda hacerlo correctamente, siga eliminando.Si elimina demasiado, cópielo de la carpeta de origen.

Al final, tendrá un buen directorio lleno de los únicos archivos que deben confirmarse.

Me siento excluido de la conversación.Aquí está mi archivo .hgignore.Cubre el desarrollo de C#, C++ y Visual Studio en general, incluido el material COM (bibliotecas de tipos), algunos archivos de compilación finales, CodeRush, ReSharper y actualizaciones de proyectos de Visual Studio.También tiene algunos aspectos ignorados para el desarrollo web moderno (c.2015).

syntax: glob

* - [Cc]opy
* - [Cc]opy/
* - [Cc]opy (?)/
* - [Cc]opy.*
* - [Cc]opy (?).*
**/.*
**/scss/*.css
*.*scc
*.FileListAbsolute.txt
*.aps
*.bak
*.bin
*.[Cc]ache
*.clw
*.css.map
*.eto
*.exe
*.fb6lck
*.fbl6
*.fbpInf
*.ilk
*.lib
*.log
*.ncb
*.nlb
*.nupkg
*.obj
*.old
*.orig
*.patch
*.pch
*.pdb
*.plg
*.[Pp]ublish.xml
*.rdl.data
*.sbr
*.scc
*.sig
*.sqlsuo
*.suo
*.svclog
*.tlb
*.tlh
*.tli
*.tmp
*.user
*.vshost.*
*.docstates
*DXCore.Solution
*_i.c
*_p.c
__MVC_BACKUP/
_[Rr]e[Ss]harper.*/
_UpgradeReport_Files/
Ankh.Load
Backup*
[Bb]in/
bower_components/
[Bb]uild/
CVS/
[Dd]ebug/
[Ee]xternal/
hgignore[.-]*
ignore[.-]*
lint.db
node_modules/
[Oo]bj/
[Pp]ackages/
PrecompiledWeb/
[Pp]ublished/
[Rr]elease/
svnignore[.-]*
[Tt]humbs.db
UpgradeLog*.*

Aquí está el contenido de mi .hgignore para proyectos de C# Visual Studio:

syntax: glob
*.user
*.ncb
*.nlb
*.suo
*.aps
*.clw
*.pdb
*\Debug\*
*\Release\*

Algunas notas:

  1. Si tiene "lanzamientos" personalizados además de "Depurar" y "Liberar", Es posible que deba agregarlos.
  2. Tenga cuidado al editar manualmente su archivo .hgignore.Si haces una sintaxis error, entonces hgtortoise no Abra el cuadro de diálogo de confirmación.

El contenido de mi archivo Mercurial .hgignore:

syntax: glob
#-- Files
*.bak.*
*.bak
thumbs.db

#-- Directories
App_Data/*
bin/
obj/
_ReSharper.*/
tmp/

#-- Microsoft Visual Studio specific
*.user
*.suo

#-- MonoDevelop specific
*.pidb
*.userprefs
*.usertasks

Tenga en cuenta que trabajo principalmente en proyectos WinForms, ASP.NET MVC y Mobile utilizando Microsoft Visual Studio y ocasionalmente MonoDevelop.Dependiendo de su conjunto de herramientas y tipos de proyectos, probablemente encontrará otros archivos que deberían ignorarse.

Intento mantener la última versión en CodePaste.NET en http://codepaste.net/zxov7i

algunos otros que uso:

output
PrecompiledWeb
_UpgradeReport_Files

#Guidance Automation Toolkit
*.gpState
#patches
*.patch

Aquí hay un par de molestos:Guardado automático en Matlab y Excel/Office.

# use glob syntax
syntax: glob

# Matlab ignore files
*.asv

# Microsoft Office
~$*

Si los agrego accidentalmente y luego cierro el archivo real que estaba abierto, Excel y/o Matlab eliminarán el guardado automático y luego Mercurial se quedará atascado preguntándose dónde fueron.Estoy seguro de que hay otros programas que hacen cosas similares.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top