visual-studio - visual studio code tfs




Utiliser Git avec Visual Studio (11)

Actuellement, il existe 2 options pour Git Source Control dans Visual Studio (2010 et 12):

  1. Fournisseur de contrôle de source Git
  2. Fournisseur Microsoft Git

J'ai essayé les deux et j'ai trouvé le premier à être plus mature, et a plus de fonctionnalités. Par exemple, il joue bien avec les extensions git et git de tortue, et même exposé leurs caractéristiques.

Remarque : Quelle que soit l'extension que vous utilisez, assurez-vous de l'activer dans Tools -> Options -> Source control -> Plugin Selection pour que cela fonctionne.

En tant qu'utilisateur de longue date de Visual SourceSafe (et haineux), je parlais de passer à SVN avec un collègue; il a suggéré d'utiliser Git place. Depuis, apparemment, il peut être utilisé comme peer-to-peer sans serveur central (nous avons juste une équipe de 3 développeurs).

Je n'ai pas été capable de trouver quoi que ce soit sur les outils qui intègrent Git avec Visual Studio, cependant - existe-t-il une telle chose?

Quelles technologies sont disponibles pour utiliser Git avec Visual Studio? Et que dois-je savoir sur ce qu'ils diffèrent avant de commencer?


Comme mentionné par Jon Rimmer, vous pouvez utiliser GitExtensions. GitExtensions fonctionne dans Visual Studio 2005 et Visual Studio 2008, mais fonctionne également dans Visual Studio 2010 si vous copiez et configurez manuellement le fichier .Addin.


En janvier 2013, Microsoft a announced ajout de la prise en charge complète de Git dans tous ses produits ALM. Ils ont publié un plugin pour Visual Studio 2012 qui ajoute l'intégration du contrôle de source Git.

Alternativement, il existe un projet appelé Git Extensions qui inclut des compléments pour Visual Studio 2005, 2008, 2010 et 2012, ainsi que l'intégration de Windows Explorer. Il est régulièrement mis à jour et après l'avoir utilisé sur quelques projets, je l'ai trouvé très utile.

Une autre option est Git Source Control Provider .



Je trouve que Git, travaillant sur des arbres entiers comme il le fait, bénéficie moins de l'intégration IDE que les outils de contrôle de source qui sont basés sur des fichiers ou suivent un modèle checkout-edit-commit. Bien sûr, il y a des cas où il peut être agréable de cliquer sur un bouton pour faire un peu d'histoire, mais cela ne me manque pas beaucoup.

Le vrai must est d'obtenir votre fichier .gitignore plein de choses qui ne devraient pas être dans un dépôt partagé. Les miens contiennent généralement (entre autres choses) ce qui suit:

*.vcproj.*.user
*.ncb
*.aps
*.suo

mais ceci est fortement biaisé C ++ avec peu ou pas d'utilisation de toute fonctionnalité de style de l'assistant de classe.

Mon modèle d'utilisation est quelque chose comme ce qui suit.

  1. Code, code, code dans Visual Studio.

  2. Quand il est content (point intermédiaire sensible pour valider le code, passez à Git, changez de niveau et revoyez les différences.) Si quelque chose ne va pas, revenez à Visual Studio et corrigez, sinon validez.

Toute fusion, branche, rebase ou autre truc de SCM fantaisie est facile à faire dans Git à partir de l'invite de commande. Visual Studio est normalement assez content de ce qui change en dessous, bien qu'il puisse parfois avoir besoin de recharger certains projets si vous avez modifié les fichiers de manière significative.

Je trouve que l'utilité de Git l'emporte sur tout inconvénient mineur de ne pas avoir une intégration complète de l'IDE mais c'est, dans une certaine mesure, une question de goût.



Le support Git effectué par Microsoft dans Visual Studio est juste assez bon pour le travail de base (commit / fetch / merge et push). Mon conseil est juste de l'éviter ...

Je préfère fortement code.google.com/p/gitextensions (ou en moindre proportion SourceTree ). Parce que voir le DAG est pour moi vraiment important de comprendre comment fonctionne Git. Et vous êtes beaucoup plus conscient de ce que les autres contributeurs à votre projet ont fait!

Dans Visual Studio, vous ne pouvez pas voir rapidement la différence entre les fichiers ou la validation, ni (ajouter à l'index) et ne valider qu'une partie des modifications. Parcourir votre histoire n'est pas bon non plus ... Tout cela se terminant par une expérience douloureuse!

Et, par exemple, GitExtensions est livré avec des plugins intéressants: background fetch, GitFlow, ... et maintenant, l'intégration continue !

Pour les utilisateurs de Visual Studio 2015 , Git prend forme si vous installez l'extension GitHub. Mais un outil externe est encore mieux ;-)




TortoiseGit a mûri et je le recommande surtout si vous avez utilisé TortoiseSVN.


J'utilise Git avec Visual Studio pour mon port de Protocol Buffers à C #. Je n'utilise pas l'interface graphique - je garde juste une ligne de commande ouverte ainsi que Visual Studio.

Pour la plupart, c'est bien - le seul problème est quand vous voulez renommer un fichier. Git et Visual Studio préféreraient tous deux que ce soit eux qui le renommer. Je pense que le renommer dans Visual Studio est la voie à suivre - faites juste attention à ce que vous faites ensuite côté Git. Bien que cela ait été un peu pénible dans le passé, j'ai entendu dire que cela devrait être plutôt transparent du côté de Git, car il peut remarquer que le contenu sera essentiellement le même. (Ce n'est pas tout à fait la même chose, généralement - vous avez tendance à renommer un fichier lorsque vous renommez la classe, IME.)

Mais fondamentalement - oui, cela fonctionne bien. Je suis un débutant Git, mais je peux l'obtenir pour faire tout ce dont j'ai besoin. Assurez-vous que vous avez un fichier ignorer git pour bin et obj, et * .user.





git