4

Récemment, mon équipe et moi avons reçu un référentiel HG pour la gestion des versions, car cela faciliterait le développement de notre application.Gestion des versions avec Visual Studio 2010 et HG

Nous utilisons Visual Studio 2010 et C#

Tout projet est sous contrôle de version ..

Malheureusement, lorsque l'un d'entre nous engage, habituellement l'autre obtient une erreur quelconque lors de l'ouverture du solution (en raison des différents fichiers VS a)

Ma question est: quels fichiers doivent être placés sous le contrôle de version? (Et enlevé dans mon cas!)

PS: nous avons 3 projets: jeu (en utilisant XNA), le contenu, le test

Merci beaucoup !!!

Dan

Répondre

5

vous avez besoin au moins ceux-ci dans votre .hgignore:

syntax: glob 
bin 
obj 
*.sln.cache 
*.suo 
*.user 

Ajouter au besoin. Mais ne surchargez pas car vous pouvez perdre des données de cette façon. Pour la réponse de instace @ Darin, vous arrêtez le suivi des fichiers de clés privées (.snk).

+0

Merci à vous tous! Il a entièrement résolu ma question .. – PirosB3

+0

C'est beaucoup trop court - que se passe-t-il lorsque vous utilisez le test MS? Vous ne voulez pas enregistrer ces fichiers de résultats. Vous ne voulez pas de clés PEM, de sauvegardes binaires SQL, vous ne voulez pas de fichiers de resharper, toutes les formes de fichiers journaux et ainsi de suite. Cela fonctionnera bien, mais c'est le plus strict de nue et résultera en un gémissement de l'utilisateur quand ils se rendent compte "Oh CRAP - mec, pourquoi notre fichier BAK 50Mb va-t-il!". –

+1

Rob Je suis contre toute hypothèse sur ce que les gens utilisent. C'est pourquoi j'ai fourni un ensemble minimal. Je crois que '.hgignore' devrait être construit consciemment, pas aveuglément. C'est pourquoi j'ai dit "ajouter au besoin". VS par défaut ne produit aucun des fichiers que vous avez mentionnés. Si nous construisons des fichiers .hgignore basés sur la possibilité de savoir quels outils les gens pourraient utiliser et quels fichiers ils pourraient générer dans le futur, le .hgignore serait très grand, non supportable, et pourrait réellement faire glisser les fichiers nécessaires, ce qui est bien pire que les fichiers superflus dans votre contrôle de source. –

1

Voici une liste des fichiers et des répertoires j'exclus du contrôle de version dans le cas du répertoire j'exclus récursive tout de ce répertoire):

bin/ 
obj/ 
TestResults/ 
*.vspscc 
*.user 
*.snk 
*.suo 
*.vssscc 
*.gpState 
Debug/ 
Release/ 
3

Je l'utilise ci-dessous et il est venu de Rob Conery sur ses tutoriels pour mercurial (http://tekpub.com/view/hg/1 & http://tekpub.com/codeplex) à tekpub. C'est sur un repo git et était à l'origine pour VS 2K8 mais fonctionne très bien pour 2K10. http://gist.github.com/314082

Syntaxe: glob

*.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 
+0

Ceci est exagéré. Pourquoi ne pas ignorer les dossiers bin et obj? –

+1

@ssg - Cela peut sembler bizarre, mais merci pour le vote car il m'a fait réfléchir. Je n'ai pas beaucoup réfléchi au fichier ignoré et votre question m'a fait réfléchir, ce qui est génial! J'ai des idées sur la raison pour laquelle cela peut ou non être exagéré mais avant de répondre, je pense que je dois faire plus de réflexion/d'apprentissage à ce sujet. :-) – klabranche

+1

Il s'agit d'un fichier ignoré, destiné à maintenir la convivialité de votre dépôt et, dans certains cas, l'intégrité de votre copie de travail. Ce n'est pas une sorte de meute que vous devez transporter qui devient de plus en plus lourde. Pourquoi regarder par le nez le travail acharné que quelqu'un d'autre a fait pour séparer le bon grain de l'ivraie de sorte que vous n'aviez pas à le faire? Je peux vous dire par expérience, c'est la meilleure liste jusqu'à présent dans ce post. –

1

Voici quelques autres:

*.ncb 
*.sdf 
*.ilk 
*.aps 
*.resharper 
_ReSharper* 
*.Cache