Question

Quelle est une bonne configuration pour le fichier .hgignore lorsque vous travaillez avec Visual Studio 2008 ?

Je développe principalement moi-même, mais occasionnellement je clone le référentiel pour que quelqu'un d'autre puisse y travailler.

Je pense aux dossiers obj, aux fichiers .suo, .sln, .user etc.Peuvent-ils simplement être inclus ou y a-t-il des fichiers que je ne devrais pas inclure ?

Merci!

p.s. :en ce moment je fais ce qui suit :ignorez tous les fichiers .pdb et tous les dossiers obj.

# regexp syntax.
syntax: glob
*.pdb

syntax: regexp
/obj/
Était-ce utile?

La solution

Voici mon fichier .hgignore standard à utiliser avec VS2008 qui a été initialement modifié à partir d'un fichier ignorer 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

Autres conseils

Ceci est spécifique à un projet C#, mais j'ignore ces fichiers/répertoires :

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

Je n'ai aucun problème à exécuter le code dans le dépôt sur d'autres machines après avoir ignoré tous ces fichiers.Le moyen le plus simple de savoir ce que vous devez conserver est de faire une copie du dossier et de commencer à supprimer les éléments que vous jugez inutiles.Continuez à essayer de construire, et tant que vous pouvez construire avec succès, continuez à supprimer.Si vous en supprimez trop, copiez-le depuis le dossier source.

En fin de compte, vous aurez un joli répertoire rempli des seuls fichiers qui doivent être validés.

Je me sens exclu de la conversation.Voici mon fichier .hgignore.Il couvre le développement C#, C++ et Visual Studio en général, y compris les éléments COM (bibliothèques de types), certains fichiers de création finaux, CodeRush, ReSharper et les mises à niveau des projets Visual Studio.Il comporte également quelques éléments ignorés pour le développement Web moderne (vers 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*.*

Voici le contenu de mon .hgignore pour les projets C# Visual Studio :

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

Quelques remarques :

  1. Si vous avez des "versions" personnalisées en plus de "débogage" et de "libération", vous devrez peut-être les ajouter.
  2. Soyez prudent lorsque vous modifiez manuellement votre .hgignore.Si vous faites une erreur de syntaxe, HGTORTOISE n'ouvrira plus la boîte de dialogue Commit.

Contenu de mon fichier 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

Gardez à l'esprit que je travaille principalement sur des projets WinForms, ASP.NET MVC et Mobile en utilisant Microsoft Visual Studio et occasionnellement MonoDevelop.En fonction de votre ensemble d'outils et des types de projets, vous rencontrerez probablement d'autres fichiers qui doivent être ignorés.

J'essaie de conserver la dernière version sur CodePaste.NET à http://codepaste.net/zxov7i

quelques autres que j'utilise:

output
PrecompiledWeb
_UpgradeReport_Files

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

En voici quelques-uns embêtants :Sauvegardes automatiques Matlab et Excel/Office.

# use glob syntax
syntax: glob

# Matlab ignore files
*.asv

# Microsoft Office
~$*

Si je les ajoute accidentellement puis ferme le vrai fichier qui était ouvert, Excel et/ou Matlab supprimeront la sauvegarde automatique, puis Mercurial se demandera où ils sont allés.Je suis sûr qu'il existe d'autres programmes qui font des choses similaires.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top