Je me demandais quel est le meilleur DVCS pour les développeurs .NET? D'après la lecture de diverses informations, il semble que Mercurial fonctionne mieux sous Windows, mais d'autres informations affirment que Git a rattrapé et dépassé Mercurial en offrant des outils Windows et Visual Studio de qualité. Quelqu'un a-t-il de bonnes informations récentes ou de l'expérience avec les deux dans un environnement de développement .NET?
Réponses
Trop de publicités?J'ai été en utilisant Mercurial depuis plus d'un an pour le faire .NET développement, et il a travaillé sur une grande. J'admets que je n'utilise pas de la fantaisie des outils (explorer add-ons et des outils de Visual studio), mais ils sont disponibles (par exemple, TortoiseHg). J'ai constaté que l'utilisation des outils de ligne de commande est tout aussi simple: il suffit d'indiquer quelques caractères spéciaux .hgignore (comme dans Blaenk de réponse) et vous êtes bon pour aller.
Je ne suis pas sûr de savoir comment bien git s'intègre avec hg, mais pour l'inverse siutation j'ai utilisé hg-git dans le passé et il a bien fonctionné. Cependant, il est encore un peu instable des nouvelles versions de hg sortir.
Donc, vous devriez être en mesure d'utiliser github de mercurial, et pour les natifs mercurial repos il y a toujours la (omi) aussi agréable bitbucket.org. Edit: Notez aussi que codeplex, qui est axé sur .NET les projets open source, propose désormais des dépôts Git et Mercurial.
Et je dois mentionner que la "popularité" est un critère très difficile à la base de votre choix sur. Soit DVCS a le haut-le profil de l'utilisateur. Git a le noyau linux, bien sûr, si de notables hg les utilisateurs comprennent le mozilla et Python projets.
EDIT: Depuis ce qui semble faire régulièrement de upvotes. Tout ce que j'ai écrit ci-dessus était vrai à l'époque de la rédaction, mais je n'ai plus d'accord avec mon ancienne auto bitbucket est aussi beau que GitHub. GitHub a de meilleures fonctionnalités, et de mon point de vue (surtout F# de développement open source) tout le monde est-il si vous obtenez beaucoup de meilleurs effets de réseau. J'ai passé tous mon projet de codeplex/bitbucket pour GitHub, il y a un moment et a immédiatement commencé à recevoir des contributions, alors que sur codeplex/bitbucket à côté de rien n'était.
Je pense que, compte tenu de git exponentielle de la popularité de la croissance, git est un bon support pour windows (semblable à celle de la subversion avec quelque chose comme tortoiseSVN) est lié à arriver, c'est qu'une question de temps. Les deux projets qui semblent être les plus populaires sont msysgit, et TortoiseGit (utilise également msysgit) qui est similaire à la commande tortoiseSVN. git garde devient de plus en plus et de plus en plus populaire, que si vous rencontrez des problèmes qui est peu probable aujourd'hui et de devenir encore plus improbable que git outils sur windows deviennent plus développé, vous serez en mesure de trouver des corrections beaucoup plus facile en raison du grand nombre d'utilisateurs.
En attendant, j'ai trouvé cette série de guides pour être très utile.
Les questions que vous pourriez avoir peut-être le fait d'ignorer certains fichiers, ce qui devrait être facile si vous recherche comment utiliser .gitignore
, ce qui est vraiment simple, voici la liste des fichiers et des caractères génériques de la série mentionne:
obj
bin
_ReSharper.*
*.csproj.user
*.resharper.user
*.resharper
*.suo
*.cache
*~
*.swp
J'ai également vu quelques problèmes concernant les fins de ligne. Pour cela, vous aurez envie de vérifier cette question.
Au moment de la rédaction, j'ai utilisé à la fois TortoiseGit et TortoiseHg (pour mercurial) dans différents projets, principalement java et .projets net. Je dois dire que TortoiseHg est en tête car il est beaucoup plus stable et complet des deux.
Il y a une Mercurial plugin pour Visual Studio 2008, mais je vous suggère de rester avec TortoiseHg jusqu'à ce que le plugin lui-même est stable. Pas sûr au sujet de l'intégration avec git, mais il y a certains parler d'un plugin pour VS ici.
Bien que git est un choix naturel pour unix/linux, il a été de mieux en mieux, pour windows et .les utilisateurs d'internet. mercurial cependant, peut être un meilleur choix entre les deux. contrairement à centralisée dev, où il ya une pléthore de choix, il y a très peu de "vrai" dvcs outils. autant que je sache, il n'y a qu'un système commercial, en plastique scm et les deux ci-dessus d'outils logiciels. je viens de le clearcase côté et ont de l'expérience avec les pvc, p4 et autres traditionnels scm outils. j'ai trébuché sur le plastique, peut-être par le biais de ce site et de ce que j'ai évalué, semble faire du bien à partir d'un point de vue visuel. si vous êtes plus d'un windows boutique comme vous le dites, il peut être en plastique, mercurial et git dans cet ordre. si vous êtes plus d'unix/linux, git est sans doute le premier choix logique. espérons que cette aide!
Les deux Git et Mercurial sera parfait pour une .NET développeur, mais il est bien connu qu'Mercurial a un meilleur support de Windows. Aussi, si vous considérez qu'un outil commercial, pourquoi ne pas vous prendre un coup d'oeil à Plastique SCM lire le tutoriel suivant distribués de dev sous Windows? http://codicesoftware.blogspot.com/2010/03/distributed-development-for-windows.html Mise à jour Maintenant en Plastique SCM a une Communauté FREE Edition.