1460 votes

Utiliser Git avec Visual Studio

En tant qu'utilisateur de Visual SourceSafe (et hater) j'était en train de discuter de commutation de SVN avec un collègue; il a proposé d'utiliser Git à la place. Puisque, apparemment, il peut être utilisé comme peer-to-peer sans serveur central (nous avons juste un 3-l'équipe de développeur).

Je n'ai pas été en mesure de trouver quelque chose sur les outils qui intègrent Git avec Visual Studio, mais - est-ce une telle chose existe?

Si non, quelqu'un peut-il faire un rapport sur leurs expériences à l'aide de Git avec Visual Studio?

1072voto

Jon Rimmer Points 9341

En janvier 2013, Microsoft a annoncé qu'ils sont en ajoutant plein Git soutenir dans toutes leurs ALM produits. Ils ont publié un plugin pour Visual Studio 2012 qui ajoute Git intégration de contrôle de source.

Sinon, il existe un projet Git Extensions qui comprend add-in pour Visual Studio 2005, 2008, 2010 et 2012, ainsi que l'intégration dans Windows Explorer. Il est régulièrement mis à jour et avoir utilisé sur un couple de projets, je l'ai trouvé très utile.

Une autre option est Source de Git Fournisseur de Contrôle.

202voto

Jon Skeet Points 692016

J'utilise Git avec Visual Studio pour mon port de Protocole de Tampons en C#. Je n'utilise pas l'interface graphique, je garde une ligne de commande ouvert, ainsi que Visual Studio.

Pour la plupart, c'est très bien - le seul problème, c'est quand vous voulez renommer un fichier. Les deux Git et Visual Studio serait plutôt qu' ils ont l'un pour le renommer. Je pense que le fait de renommer dans Visual Studio est le chemin à parcourir, mais - juste faire attention à ce que vous faites dans le Git de côté par la suite. Bien que cela a été un peu de douleur dans le passé, j'ai entendu dire qu'en fait, il devrait être assez homogène sur le Git de côté, parce qu'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 êtes renommer la classe, de l'IME.)

Mais au fond, oui, il fonctionne très bien. Je suis un Git newbie, mais je peux lui faire faire tout ce dont j'ai besoin. Assurez-vous d'avoir un git d'ignorer des fichiers bin et obj, et *.de l'utilisateur.

93voto

yysun Points 786

Source de Git Fournisseur de Contrôle est nouveau plug-in qui intgrates Git avec Visual Studio.

http://gitscc.codeplex.com

52voto

T.E.D. Points 26829

J'ai regardé dans cette un peu de travail (avec Subversion et Git). Visual Studio a fait un contrôle de la source API d'intégration pour vous permettre d'intégrer la troisième partie de la source de solutions de contrôle dans VS. Cependant, la plupart des gens ne vous embêtez pas avec elle pour un couple de raisons.

La première est que l'API assez bien suppose l'utilisation d'un locked-contrôle de flux de travail. Il y a beaucoup de crochets qui sont de toute façon coûteuse à mettre en oeuvre, ou juste à plat pas de sens quand vous utilisez le plus moderne modifier-fusionner des flux de travail.

La deuxième (qui est liée), c'est que lorsque vous êtes à l'aide de la modifier-fusionner des flux de travail que les deux Subversion et Git encourager, vous n'avez pas vraiment besoin d'intégration de Visual Studio. Le principal tueur chose à propos de SourceSafe intégration avec VS, c'est que vous (et l'éditeur) permet d'identifier d'un coup d'œil les fichiers que vous-même, ce qui doit être vérifié avant de vous pouvez les modifier, et qui vous ne pouvez pas sortir, même si vous le souhaitez. Ensuite, il peut vous aider à faire ce que la révision-contrôle vaudou que vous devez faire lorsque vous souhaitez modifier un fichier. Rien de cela n'est même partie d'un type de Git.

Lorsque vous utilisez Git (ou SVN généralement), votre révision-contrôle de toutes les interactions ont lieu soit avant votre séance de perfectionnement, ou après (une fois que vous avez tout ce travail et testé). À ce stade, il n'est vraiment pas trop de douleur pour utiliser un autre outil. Vous n'êtes pas constamment avoir à basculer d'avant en arrière.

38voto

Charles Bailey Points 244082

Je trouve que git, en travaillant sur l'ensemble des arbres comme il le fait, moins d'ide de l'intégration de la source outils de contrôle qui sont soit à base de fichiers ou de suivre un checkout-edition de validation de modèle. Bien sûr, il ya des cas où il peut être agréable de cliquer sur un bouton pour faire un peu d'histoire l'examen, mais je n'ai pas manqué beaucoup.

Le réel vous devez faire est d'obtenir votre .gitignore fichier plein de choses qui ne devraient pas l'être dans un référentiel partagé. Mine contiennent généralement (entre autres choses) les suivantes:

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

mais c'est très C++ biaisée avec peu ou aucune utilisation de l'assistant de classe fonctionnalité de style.

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

1) du Code, code, code de VS.

2) Lorsque heureux (sensible, intermédiaire de point de commettre code, passer à git, et des changements de phase de l'examen des diffs. Si rien n'est évidemment faux de revenir à VS et de fixer, sinon commettre.

Toute fusion, la branche, le rebase ou autres fantaisies SCM des choses est facile à faire dans git à partir de l'invite de commande. VS est normalement assez heureux avec les choses changer, bien qu'il puisse parfois 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'emportent sur les inconvénients mineurs de ne pas avoir la pleine intégration EDI, mais il est, dans une certaine mesure, une question de goût.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X