GitHub Windows mis à jour, quid de l'intégration de Git à Visual Studio 2012 ?

GitHub Windows mis à jour, quid de l’intégration de Git à Visual Studio 2012 ?

Vous préférez un outil indépendant, ou l'intégration dans l'IDE ?

Avatar de l'auteur
David Legrand

Publié dans

Logiciel

22/02/2013 4 minutes
25

GitHub Windows mis à jour, quid de l'intégration de Git à Visual Studio 2012 ?

Il a près d'un an, GitHub lançait son client dédié à Windows. Celui-ci permettait alors de gérer des dépôts locaux, mais aussi ceux hébergés par le service, et ce de manière simplifiée. La société a décidé revenir sur ses dernières améliorations, mais aussi évoquer le cas de l'intégration de Git à Visual Studio 2012.

Près d'un an après l'arrivée de GitHub pour Windows, on commence à faire le point 

GitHub est un service construit autour de l'outil de gestion de versions Git. Si ce dernier dispose de nombreux clients sous Linux, et est intégré à plusieurs IDE, il n'était pas toujours simple de l'exploiter sous Windows. Un client GitHub pour Windows a donc été créé l'année dernière afin de tenter d'améliorer les choses.

 

Simple et plutôt complet, celui-ci n'a cessé d'évoluer ces derniers mois. Et à l'occasion de la mise en ligne de la version 10.0.38, l'équipe a souhaité revenir sur plusieurs points. Tout d'abord quelques améliorations récentes comme l'arrivée d'une icône permettant d'identifier un dépôt qui appartient ou non à GitHub et s'il est public ou privé si c'est le cas.

 

GitHub Windows

 

Le glisser-déposer est aussi exploité pour plusieurs tâches comme la création d'un dépôt depuis un répertoire existant sur la machine. Mais il est aussi possible d'effectuer un clone depuis une URL de la même manière. Bref, rien de bien transcendant et certains pourraient commencer à attendre des améliorations un peu plus massives.

Git pour vos projets... Microsoft en embuscade

D'autant plus que Microsoft ne reste pas sans rien faire. En effet, le géant de Redmond tisse un peu plus sa toile auprès des amateurs de solutions libres. Et après avoir créé Codeplex, créé un pont avec Team Foundation Server / Service à travers Git-TF, une intégration de Git native commence à être de plus en plus systématique à travers ses produits.

 

Git Services Windows Azure

 

Il est en effet possible depuis l'arrivée de Websites au sein d'Azure de clôner un dépôt GitHub afin de le déployer comme une application. Team Foundation Server / Service peut ainsi héberger des dépôts Git, mais il est aussi possible d'utiliser l'outil de gestion de versions de manière plus générale pour mettre à jour votre site de manière assez simple.

 

Dernièrement, c'est l'arrivée de la seconde CTP (Community Technology Preview) de Visual Studio qui a été l'occasion d'annoncer l'arrivée d'un plug-in dédié à Git, qui sera bientôt intégré nativement au sein du célèbre IDE. Pour en profiter, il vous faut trois éléments :

Une fois tout cela d'installé, vous pourrez opter pour Git pour la gestion des versions de vos nouveaux projets. De plus, le Team Explorer vous proposera de gérer vos dépôts et leurs branches, d'effectuer vos commits et autres push... le tout est interfacé de la même manière de TFS, une manière sans doute de vous inciter à tester ce service et peut être d'y passer à terme ?

 

Voici une petite vidéo de présentation pour ceux qui voudraient en savoir plus (une seconde, plus complète, est accessible par là) :

 

 

Le tout exploite la bibliothèque LibGit2 qui est aussi exploitée par GitHub pour Windows et à laquelle le service participe, au même titre que des membres de Microsoft. La jeune société indique d'ailleurs que les deux solutions ne sont pas concurrentes, mais complémentaires.

GitHub pour Windows complémentaire ? Seulement s'il arrive à se démarquer

L'utilisateur est en effet invité à effectuer le clone avec le client avant de commencer l'édition du code depuis Visual Studio. Si cela est en effet plus simple pour les dépôts GitHub rattachés à votre compte ou lorsque vous utiliser le bouton « Clone in Windows » affiché sur la page des projets hébergés, il est tout à fait possible de le faire via l'URL directement au sein de l'IDE de Microsoft. 

 

Git Visual Studio 2012

 

Reste donc à voir si la volonté de cohabitation affichée perdure à travers le temps. On espère surtout que cela sera une source de motivation pour les équipes de GitHub d'introduire de réelles innovations au sein de son produit afin de se démarquer de l'intégration encore assez simpliste du géant de Redmond.

 

Les grands perdants pourraient néanmoins être des outils tels que GitExtensions ou Git Source Control Provider, qui ont néanmoins l'avantage de supporter les versions antérieures de Visual Studio.

Écrit par David Legrand

Tiens, en parlant de ça :

Sommaire de l'article

Introduction

Près d'un an après l'arrivée de GitHub pour Windows, on commence à faire le point 

Commentaires (25)


Plus précisément, l’Update 2 va rendre obsolète la passerelle Git-TF, car elle apportera l’intégration native de Git dans TFS.



Sinon Git dans Visual Studio existe depuis un moment via Git Source Control Provider, qui exploite les API de Visual Studio dédiées à l’intégration de VCS tiers.








ZoZo a écrit :



Plus précisément, l’Update 2 va rendre obsolète la passerelle Git-TF, car elle apportera l’intégration native de Git dans TFS.



Sinon Git dans Visual Studio existe depuis un moment via Git Source Control Provider, qui exploite les API de Visual Studio dédiées à l’intégration de VCS tiers.





Git-TF ne permet que de faire communiquer Git avec TFS que ce soit pour les commit, la gestion des bugs, etc.



Le plug-in évoqué va aussi faire son apparition au sein de VS de manière native à terme :





Our Git plugin will be integrated into all editions of Visual Studio V.Next (including Express) and will appear in the various pre-releases and RTM.



Je vais être un peu HS, mais bon j’ai quelques question aux utilisateur de Github for Windows :



1 - Vous aussi vous avez des problèmes avec certaines mises à jours qui ne se déploient pas? Je m’explique, GH4W télécharge l’update, demande son redémarrage, au redémarrage essaie d’appliquer la mise à jour et plante misérablement. Résultat impossible de lancer GH4W car il plante à chaque démarrage, j’ai été obligé de tout réinstaller.

Cela m’est arrivé trois fois depuis l’année dernière, sur deux postes différents (Vista et Seven) et la dernière fois n’étais pas plus tard que mardi…



2 - J’ai régulièrement des soucis avec GH4W qui me stage des fichiers qui n’ont pourtant pas été modifiés. Même si je fais des revert il me restage tout le temps le dit fichier, du coup je suis obligé de faire des commits avec zero modifs pour apparaitre synchro avec mon master…








Yangzebul a écrit :









Pas noté de soucis du genre (mais je ne suis pas non plus utilisateur quotidien je dois avouer).



Dans le second cas, un diff te renvoie des modifs relevées ou pas ?



@David_L



Sois le diff apparait vide, soit j’ai un message “binary files differs” (bien que ce ne soit pas un binaire…)



Quand je commit et que je push, si je regarde dans mon master il ne m’indique pas de modif sur le fichier en question…



Bon c’est pas plus gênant que ça, en général je met un petit commentaire du genre “git madness” et je passe à autre chose.








Yangzebul a écrit :









Et ça te fait ça même avec des versions récentes ? (genre souci résolu avec une mise à jour de git ou de GHFW)



“Les grands perdants pourraient néanmoins être des outils tels que GitExtensions ou Git Source Control Provider, qui ont néanmoins l’avantage de supporter les versions antérieures de Visual Studio.” => pas assez abouti à mon avis de toute manière…



J’espère qu’on aura le même confort qu’avec AnkhSVN ou TortoiseSVN.

Parce que bouffer 20 diff en ligne de commandes à chaque commit, c’est franchement chiant.


Ça me le fais encore, j’ai eu le cas il y a une dizaine de jour.

Enfin bon c’est mineur comme bug.



Ce qui m’embête plus c’est mon premier soucis, car ce genre de bug d’update suis particulièrement bien la loi de Murphy : il arrive toujours au plus mauvais moment !








Kerberos a écrit :



J’espère qu’on aura le même confort qu’avec AnkhSVN ou TortoiseSVN.

Parce que bouffer 20 diff en ligne de commandes à chaque commit, c’est franchement chiant.







T’as deja essayé tortoisegit ?



Perso, en tant qu’adepte de la ligne de commande (mon IDE est un terminal Linux), j’ai toujours été horrifié par la lenteur de Git Bash sur Windows. Ca doit provenir du Mingw qui tourne derrière j’imagine.


GitHub pour Windows s’améliore petit à petit c’est bien :)



Dommage que SourceTree n’existe que sur Mac (Même si ça devrait changer vu l’annonce récente d’une bêta ici. C’est selon moi le seul client à la fois agréable et complet pour gérer ses dépôts Git, et qui en plus d’intégrer github, intègre aussi bitbucket et Kiln (mercurial).



Avec l’engouement qu’il y a pour Git, je ne comprend pas pourquoi il n’y a pas plus de clients qui tiennent vraiment la route.




Si ce dernier dispose de nombreux clients sous Linux, et est intégré à plusieurs IDE, il n’était pas toujours simple de l’exploiter sous Windows.





Ça fait pourtant un sacré bail que Git-Extensions marche avec Visual Studio (n’importe quelle version) …



http://code.google.com/p/gitextensions/








Kerberos a écrit :



“Les grands perdants pourraient néanmoins être des outils tels que GitExtensions ou Git Source Control Provider, qui ont néanmoins l’avantage de supporter les versions antérieures de Visual Studio.” => pas assez abouti à mon avis de toute manière…



J’espère qu’on aura le même confort qu’avec AnkhSVN ou TortoiseSVN.

Parce que bouffer 20 diff en ligne de commandes à chaque commit, c’est franchement chiant.







D’expérience, ne t’attends pas à des miracles ;) Pour le moment support GIT est en beta (voir alpha, parceque c’est quand même assez rude quand on vient de Ankh qui est quand même super léger et efficace). Faudra voir avec la version finale (qui j’espère ne va pas tarder avec que tout mes dev se flinguent <img data-src=" />).



Le gros mérite de la chose, c’est que les gens qui utilisent TFSVC ne seront pas dépaysé pour un sou, car ça fonctionne quasi pareil.









catseye a écrit :



Ça fait pourtant un sacré bail que Git-Extensions marche avec Visual Studio (n’importe quelle version) …



http://code.google.com/p/gitextensions/





Tu parles d’une intégration dans un IDE (évoquée à la fin du papier) alors que je parle d’une intégration au sein du système ;)









P-A a écrit :



D’expérience, ne t’attends pas à des miracles ;) Pour le moment support GIT est en beta (voir alpha, parceque c’est quand même assez rude quand on vient de Ankh qui est quand même super léger et efficace). Faudra voir avec la version finale (qui j’espère ne va pas tarder avec que tout mes dev se flinguent <img data-src=" />).



Le gros mérite de la chose, c’est que les gens qui utilisent TFSVC ne seront pas dépaysé pour un sou, car ça fonctionne quasi pareil.





De toutes façons…



Bazaar FTW \o/



<img data-src=" />



Oui enfin pas de support Git dans TFS2012 express. D0mmage.

Moi qui voulais mettre un TFS pour git justement…








lossendae a écrit :



T’as deja essayé tortoisegit ?







Je ne sais pas ce que ça donne par rapport à TortoiseSVN, mais TortoiseGit est pour moi clairement loin derrière TortoiseHg qui je trouve est exemplaire.









ZoZo a écrit :



Je ne sais pas ce que ça donne par rapport à TortoiseSVN, mais TortoiseGit est pour moi clairement loin derrière TortoiseHg qui je trouve est exemplaire.







Perso je n’aime pas trop tortoisesvn, et j’apprécie la simplicité pour les tâches courantes de tortoisegit. J’oscille régulierement entre la ligne de commande, tortoisegit, ou git via phpstorm.



Je n’ai jamais utiliser tortoiseHG (je ne connaissais meme pas). Qu’a t’il de si bien comparé à tortoisegit ?









lossendae a écrit :



Je n’ai jamais utiliser tortoiseHG (je ne connaissais meme pas). Qu’a t’il de si bien comparé à tortoisegit ?







TortoiseHg est pour Mercurial, un DVCS concurrent de Git dont le mérite est d’être plus simple pour ceux venant de SVN, et d’avoir un outillage sous Windows réputé bien meilleur que Git.

Comparé à TortoiseGit, TortoiseHg a un “Workbench” qui permet d’avoir une vision très clair d’où on en est, et ce qu’on fait. Je pense qu’il faut l’utiliser pour s’en rendre compte…









ZoZo a écrit :



TortoiseHg est pour Mercurial, un DVCS concurrent de Git dont le mérite est d’être plus simple pour ceux venant de SVN, et d’avoir un outillage sous Windows réputé bien meilleur que Git.

Comparé à TortoiseGit, TortoiseHg a un “Workbench” qui permet d’avoir une vision très clair d’où on en est, et ce qu’on fait. Je pense qu’il faut l’utiliser pour s’en rendre compte…







Ca existe de bon “github-like” mais supportant mercurial ? Il me semble que Google code le supportait à un moment (j’ai comme un doute)









CryoGen a écrit :



Ca existe de bon “github-like” mais supportant mercurial ? Il me semble que Google code le supportait à un moment (j’ai comme un doute)







Bitbucket supporte git et mercurial.

Autre point sympa bitbucket accepte les dépots privés/non open-source sans compte payant. <img data-src=" />









Yangzebul a écrit :



Bitbucket supporte git et mercurial.

Autre point sympa bitbucket accepte les dépots privés/non open-source sans compte payant. <img data-src=" />







Et d’un point de vue “confiance” rien à signaler ? j’étais justement entrain de me poser la question sur bitbucket, le coup des dépôts privés gratuit est pas mal du tout…









CryoGen a écrit :



Et d’un point de vue “confiance” rien à signaler ? j’étais justement entrain de me poser la question sur bitbucket, le coup des dépôts privés gratuit est pas mal du tout…







Jamais eu de soucis de mon côté, mais après je n’ai pas analysé de manière poussée les CGU.

Si ton code à une valeur commerciale particulière tu voudras peut être les regarder de plus près.









Yangzebul a écrit :



Jamais eu de soucis de mon côté, mais après je n’ai pas analysé de manière poussée les CGU.

Si ton code à une valeur commerciale particulière tu voudras peut être les regarder de plus près.







Merci pour les infos <img data-src=" />









David_L a écrit :



Tu parles d’une intégration dans un IDE (évoquée à la fin du papier) alors que je parle d’une intégration au sein du système ;)







Mouii ok, je vois où tu te situes … oui et donc, pas étonnant que ça traine un peu .. le besoin est quasi-nul … ;)