Domanda

Qual è una buona configurazione per il file .hgignore quando si lavora con Visual Studio 2008?

Per lo più sviluppo da solo, solo occasionalmente clone il repository affinché qualcun altro possa lavorarci sopra.

Sto pensando a cartelle obj, file .suo, .sln, .user ecc..Possono essere semplicemente inclusi o ci sono file che non dovrei includere?

Grazie!

p.s.:al momento faccio quanto segue:ignora tutti i file .pdb e tutte le cartelle obj.

# regexp syntax.
syntax: glob
*.pdb

syntax: regexp
/obj/
È stato utile?

Soluzione

Ecco il mio file .hgignore standard da utilizzare con VS2008 originariamente modificato da un file Git ignore:

# 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

Altri suggerimenti

Questo è specifico per un progetto C#, ma ignoro questi file/directory:

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

Non ho problemi a eseguire il codice nel depot su altre macchine dopo aver ignorato tutti questi file.Il modo più semplice per scoprire cosa devi conservare è creare una copia della cartella e iniziare a eliminare le cose che ritieni non necessarie.Continua a provare a creare e finché riesci a creare con successo continua a eliminare.Se elimini troppo, copialo dalla cartella di origine.

Alla fine avrai una bella directory piena dei soli file che devono essere impegnati.

Mi sento escluso dalla conversazione.Ecco il mio file .hgignore.Copre lo sviluppo di C#, C++ e Visual Studio in generale, inclusi elementi COM (librerie di tipi), alcuni file del builder finale, CodeRush, ReSharper e aggiornamenti di progetti Visual Studio.Presenta anche alcune ignorazioni per lo sviluppo web moderno (circa 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*.*

Ecco il contenuto del mio file .hgignore per progetti C# Visual Studio:

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

Alcune note:

  1. Se si dispone di "release" personalizzate oltre a "Debug" e "Release", è possibile potrebbe essere necessario aggiungerli.
  2. Fai attenzione quando modifichi manualmente il tuo .hgignore.Se si crea una sintassi errore, allora hgtortoise non lo farà Aprire più la finestra di dialogo di commit.

Contenuto del mio file 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

Tieni presente che lavoro principalmente su progetti WinForms, ASP.NET MVC e mobili utilizzando Microsoft Visual Studio e occasionalmente MonoDevelop.A seconda del set di strumenti e dei tipi di progetto, probabilmente incontrerai altri file che dovrebbero essere ignorati.

Cerco di mantenere l'ultima versione su CodePaste.NET su http://codepaste.net/zxov7i

alcuni altri che uso:

output
PrecompiledWeb
_UpgradeReport_Files

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

Eccone un paio fastidiosi:Salvataggi automatici Matlab ed Excel/Office.

# use glob syntax
syntax: glob

# Matlab ignore files
*.asv

# Microsoft Office
~$*

Se li aggiungo accidentalmente e poi chiudo il file reale che era aperto, Excel e/o Matlab elimineranno il salvataggio automatico e quindi Mercurial si bloccherà chiedendosi dove sono finiti.Sono sicuro che ci sono altri programmi che fanno cose simili.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top