En tant qu'utilisateur (et haineux) de longue date de Visual SourceSafe, je discutais du passage à SVN avec un collègue; il a suggéré d'utiliser Git à la place. Depuis, apparemment, il peut être utilisé comme peer-to-peer sans serveur central (nous sommes une équipe de 3 développeurs).
Cependant, je n'ai rien trouvé sur les outils qui intègrent Git à Visual Studio - une telle chose existe-t-elle?
Quelles sont les technologies disponibles pour utiliser Git avec Visual Studio? Et que dois-je savoir sur leurs différences avant de commencer?
visual-studio
git
Herbe Caudill
la source
la source
Réponses:
En janvier 2013, Microsoft a annoncé l' ajout d'une 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 comprend des compléments pour Visual Studio 2005, 2008, 2010 et 2012, ainsi que l'intégration de l'Explorateur Windows. Il est régulièrement mis à jour et l'ayant utilisé sur quelques projets, je l'ai trouvé très utile.
Une autre option est Git Source Control Provider .
la source
J'utilise Git avec Visual Studio pour mon port de tampons de protocole vers C #. Je n'utilise pas l'interface graphique - je garde simplement une ligne de commande ouverte ainsi que Visual Studio.
Pour la plupart, ça va - le seul problème est quand vous voulez renommer un fichier. Git et Visual Studio préféreraient qu'ils soient les seuls à le renommer. Je pense que le renommer dans Visual Studio est le chemin à parcourir - faites juste attention à ce que vous faites côté Git par la suite. Bien que cela ait été un peu pénible dans le passé, j'ai entendu dire que cela devrait en fait être assez transparent du côté de Git, car il peut remarquer que le contenu sera essentiellement le même. (Pas tout à fait la même chose, généralement - vous avez tendance à renommer un fichier lorsque vous renommez la classe, IME.)
Mais en gros - oui, cela fonctionne bien. Je suis un débutant Git, mais je peux le faire faire tout ce dont j'ai besoin. Assurez-vous que vous disposez d'un fichier git ignore pour bin et obj et * .user.
la source
Git Source Control Provider est un nouveau plug-in qui intègre Git à Visual Studio.
la source
J'ai examiné cela un peu au travail (avec Subversion et Git). Visual Studio dispose en fait d'une API d'intégration de contrôle de source pour vous permettre d'intégrer des solutions de contrôle de source tierces dans Visual Studio. Cependant, la plupart des gens ne s'en soucient pas pour deux raisons.
La première est que l'API suppose à peu près que vous utilisez un flux de travail verrouillé. Il contient de nombreux crochets qui sont soit très coûteux à implémenter, soit tout simplement insensés lorsque vous utilisez le flux de travail d'édition-fusion plus moderne.
La seconde (qui est liée) est que lorsque vous utilisez le flux de travail d'édition-fusion que Subversion et Git encouragent, vous n'avez pas vraiment besoin de l' intégration de Visual Studio. L'intérêt principal de l'intégration de SourceSafe avec Visual Studio est que vous (et l'éditeur) pouvez voir en un coup d'œil quels fichiers vous possédez, qui doivent être extraits avant de pouvoir les modifier et lesquels vous ne pouvez pas extraire même si vous le souhaitez. Ensuite, il peut vous aider à faire le vaudou de contrôle des révisions que vous devez faire lorsque vous souhaitez modifier un fichier. Rien de tout cela ne fait même partie d'un workflow Git typique.
Lorsque vous utilisez Git (ou SVN en général), vos interactions de contrôle de révision ont toutes lieu soit avant votre session de développement, soit après celle-ci (une fois que tout a fonctionné et testé). À ce stade, ce n'est vraiment pas trop pénible d'utiliser un outil différent. Vous n'avez pas constamment à basculer.
la source
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 d'extraction-édition-validation. Bien sûr, il y a des cas où il peut être agréable de cliquer sur un bouton pour faire un examen historique, mais cela ne me manque pas beaucoup.
La vraie chose à faire est d'obtenir votre fichier .gitignore plein de choses qui ne devraient pas être dans un référentiel partagé. Les miens contiennent généralement (entre autres) les éléments suivants:
mais ceci est fortement biaisé en C ++ avec peu ou pas d'utilisation de fonctionnalités de style assistant de classe.
Mon modèle d'utilisation ressemble à ce qui suit.
Code, code, code dans Visual Studio.
Lorsque vous êtes satisfait (point intermédiaire raisonnable pour valider le code, passez à Git, modifiez les étapes et passez en revue les différences. Si quelque chose ne va manifestement pas, revenez à Visual Studio et corrigez, sinon validez.
Toute fusion, branche, rebase ou tout autre élément SCM sophistiqué est facile à faire dans Git à partir de l'invite de commande. Visual Studio est normalement assez satisfait des choses qui changent en dessous, bien qu'il puisse parfois avoir besoin de recharger certains projets si vous avez modifié les fichiers de projet 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 IDE complète, mais c'est, dans une certaine mesure, une question de goût.
la source
git rm <file>
etecho <file> >>.gitignore; git add .gitignore
sur les conseils de vos branches actives. Une fois que vous avez validé le changement, vous pouvez toujours choisir le correctif sur d'autres branches.Microsoft a récemment annoncé Git pour Visual studio 2012 (mise à jour 2). Je n'ai pas encore joué avec, mais cette vidéo semble prometteuse.
Voici un didacticiel rapide sur l'utilisation de Git à partir de Visual Studio 2012.
la source
Ne manquez pas non plus TortoiseGit ... https://tortoisegit.org/
la source
Il existe un Visual Studio Tools pour Git par Microsoft. Cependant, il ne prend en charge que Visual Studio 2012 (mise à jour 2).
la source
Visual Studio 2013 prend en charge nativement Git.
Voir l' annonce officielle .
la source
Le support Git fait 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 les GitExtensions (ou en moins proportion SourceTree ). Parce que voir le DAG est pour moi vraiment important de comprendre comment fonctionne Git. Et vous êtes bien plus conscients 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 valider, ni (ajouter à l'index) et ne valider qu'une partie des modifications. Parcourir votre histoire n'est pas bon non plus ... Tout cela se termine par une expérience douloureuse!
Et, par exemple, GitExtensions est fourni avec des plugins intéressants: extraction en arrière-plan, GitFlow, ... et maintenant, 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 ;-)
la source
TortoiseGit a mûri et je le recommande surtout si vous avez utilisé TortoiseSVN.
la source
La dernière version de Git Extensions prend désormais en charge Visual Studio 2010 (avec Visual Studio 2008 et Visual Studio 2005 ).
Je l'ai trouvé assez facile à utiliser avec Visual Studio 2008 et l'interface semble être la même dans Visual Studio 2010.
la source
La solution la plus simple qui fonctionne plutôt bien est d'ajouter les commandes TortoiseGit en tant qu'outils externes.
Solution pour ajouter une barre d'outils Git (TortoiseGit) à Visual Studio
la source
Comme mentionné par Jon Rimmer, vous pouvez utiliser GitExtensions. GitExtensions fonctionne dans Visual Studio 2005 et Visual Studio 2008, il fonctionne également dans Visual Studio 2010 si vous copiez et configurez manuellement le fichier .Addin.
la source
Actuellement, il existe 2 options pour Git Source Control dans Visual Studio (2010 et 12):
J'ai essayé les deux et j'ai trouvé que le premier était plus mature et avait plus de fonctionnalités. Par exemple, il joue bien avec les extensions tortue git et git, et a même exposé leurs caractéristiques.
Remarque : Quelle que soit l'extension que vous utilisez, assurez-vous de l'activer
Tools -> Options -> Source control -> Plugin Selection
pour qu'elle fonctionne.la source
À partir du 2013-02-11, le plug-in Microsoft Git pour Visual Studio 2012 devrait également fonctionner avec la version Express .
la source