S'identifier / Créer un compte
  • Actualités
  • Dossiers
  • Tests
  • Commentaires
  • INpactiens
Publicité

Flash Info : Fêtons la TVA à 2,1 % : abonnez-vous dès 17 € par an !

[Pratique] GitHub : un client sous Windows, modification de l'interface web

The information manager from hell, sous Windows

GitHub, le célèbre service d'hébergement de dépôts Git, vient d'annoncer la mise en ligne de son client pour Windows. Une initiative qui pourrait couper l'herbe sous le pied de projets tels que Msysgit / Tortoise Git qui étaient principalement utilisés par les développeurs ? Pas vraiment.

Git

Pour rappel, Git est, pour son utilisation la plus répandue, un système de gestion sous licence GPL v2, imaginé par Linus Torvalds himself. Pensé au départ pour le développement du noyau Linux, afin de remplacer Bitkeeper, il se veut différent et surtout plus efficace que de solutions centralisées telles que Subversion (SVN).

Git : un système de gestion de version pensé par le père de Linux

Il a en effet l'avantage d'être entièrement décentralisé (DVCS), tout comme d'autres tels que Mercurial ou Bazaar, et ne nécessite donc pas l'utilisation d'un serveur central. Chaque développeur dispose ainsi d'une copie complète du projet. Bien entendu, l'utilisation d'un serveur tiers plutôt qu'une connexion directe entre chaque membre de l'équipe est toujours possible, mais si celui-ci disparait, il peut être recréé par n'importe quel contributeur. 

Vous retrouverez plus de détails sur son principe via la documentation officielle, disponible en Français.

Git CVS Gestion de versionGit CVS Gestion de version

Il est principalement utilisé sous Linux via la ligne de commande, ainsi qu'une multitude de clients graphiques. Mais avec l'arrivée de services d'hébergements privés ou pour des projets libres tels que GitHub, qui proposent un fonctionnement social et remportent un franc succès, l'absence de réelle solution pour les adeptes de Windows pouvait poser problème.

Git sous Windows ? Avec un peu de motivation, c'est possible

Jusqu'à maintenant, il était possible d'exploiter Git sous Windows via Cygwin puis le projet MsysGit qui se base sur un fork de MinGW. De plus, des portages d'outils tels que TortoiseSVN dont un dérivé TortoiseGit existe, pouvaient simplifier les choses. On évoquera aussi le support natif de nombreux IDE, qui permet aux développeurs qui ne sont pas des adeptes de la ligne de commandes d'utiliser Git au quotidien.

Mais cela ne semblait pas suffire à GitHub qui a finalement décidé de proposer son propre client sous Windows, avec une intégration spécifique à son interface web. Disponible sous Windows XP, Vista, 7 et 8, celui-ci reprend largement le style du prochain système d'exploitation de Microsoft.

GitHub : la même base qu'avant, mais en bien plus simple à mettre en place

Et dès l'introduction, les équipes en charge de son développement clarifient les choses, il n'est pas question de s'opposer aux solutions existantes, mais de les utiliser et d'en simplifier l'usage. Ainsi, ce client reprend MsysGit qu'il installe et configure, en simplifiant l'accès à votre compte GitHub. 

Ainsi, plus besoin de vous soucier de vos clefs SSH, de suivre ce tutoriel qui peut faire peur aux débutants qui ne connaissent pas Git dans le détail, vous téléchargez un client d'installation de quelques kilo-octets qui téléchargera à son tour l'application avant de l'installer. 

GitHub Windows

Vous serez alors invité à vous connecter ou à créer un compte GitHub. Pour rappel, ce service est entièrement gratuit et vous pouvez y héberger un nombre illimité de dépôts pour vos projets libres. Des dépôts privés peuvent ensuite vous être proposés pour un tarif allant de 7 $ (5 dépôts, 1 collaborateur) à 50 $ par mois (50 dépôts, 25 collaborateurs).

Vous pourrez ensuite préciser vos noms et mails qui seront utilisés lors de vos « commits », puis vos dépôts locaux seront détectés, vous serez alors invité à les ajouter :

GitHub WindowsGitHub Windows

GitHub sous Windows : avant tout un outil de gestion des dépôts locaux

Une fois cette phase de configuration terminée, vous arriverez sur une page qui sera composée de deux onglets : vos dépôts situés sur GitHub, que vous pourrez cloner et ceux disponibles de manière locale. Notez que si vous choisissez de ne pas vous connecter ou vous inscrire, vous pourrez le faire et simplement gérer vos dépôts locaux.

GitHub WindowsGitHub Windows

Vous pourrez alors effectuer une recherche au sein de ceux-ci via un système de filtre par mots-clefs, en ajouter via un système de glisser-déposer (les données ne seront pas déplacées ou copiées) ou de manière plus manuelle, ou plus simplement en créer.

Du côté des options, outre un à propos, une liste des licences et un outil de vérification des mises à jour, on pourra modifier le compte GitHub connecté ainsi que son nom / e-mail, modifier le répertoire de stockage local, effectuer un scan afin de trouver des dépôts locaux, et modifier l'outil de ligne de commandes utilisé : celle de Windows, GitBash et PowerShell (via Posh-Git) sont proposés, mais vous pourrez aussi en choisir un à votre convenance. Par défaut, c'est PowerShell qui sera utilisé.

GitHub WindowsGitHub Windows

Une fois vos dépôts locaux configurés, vous pourrez, pour chacun d'entre eux : 
  • L'ouvrir sur GitHub si un dépôt distant existe
  • L'ouvrir dans Windows Explorer
  • L'ouvrir au sein de l'outil de ligne de commandes
  • Arrêter de le suivre
Dans ce dernier cas, il ne sera pas supprimé, mais n'apparaîtra plus dans l'outil. Vous pourrez bien entendu ouvrir le projet, ce qui vous permettra de voir la liste des fichiers qui ont été modifiés et qui peuvent être intégrés dans un « commit ». Vous pourrez voir le détail des changements, et sélectionner ou non chaque fichier. Il vous sera aussi proposé d'annuler les changements effectués. 

GitHub Windows

Une mise à jour de l'interface en ligne et quelques options qui méritent encore du soin

Notez enfin que l'interface en ligne de GitHub a aussi été modifiée pour l'occasion. En effet, elle propose désormais un bouton « Clone in Windows » qui vous permettra de cloner directement un projet sur votre machine, d'un simple clic :

GitHub Windows

Vous pourrez aussi naviguer dans l'historique des changements apportés à un projet, voir les modifications apportées à chaque fichier, vous rendre sur la page du « commit » sur GitHub... il vous sera aussi proposé de l'annuler, ou de revenir à celui-ci en remplaçant vos fichiers locaux.

À chaque instant, vous pourrez aussi choisir de synchroniser votre dépôt local avec celui situé sur GitHub s'il existe. Il vous sera aussi proposé de naviguer au sein des différentes branches de votre projet, ou d'en créer de nouvelles. Vous pourrez aussi les fusionner, les épingler pour voir en priorité certaines d'entre elles, les filtrer par mots clefs... 

GitHub WindowsGitHub Windows

Un fonctionnement qui n'est pas limité aux dépôts distants sur GitHub

Vous pourrez aussi modifier certains détails de votre dépôt comme la liste des fichiers ignorés, l'adresse du dépôt distant principal... pour autant, nous n'avons pas réussi à effectuer de synchronisation avec un projet qui n'était pas hébergé sur GitHub, pour le moment. Des lecteurs nous ont néanmoins confirmé que dans leur cas, cela fonctionnait sans problème. Une amélioration et une meilleure exposition de ce type de fonctionnalités pourrait donc être appréciée pour les mises à jour à venir.

Quoi qu'il en soit, l'ensemble est assez complet et la création d'un tel projet va dans le bon sens. On peut d'ailleurs se dire que certains développeurs, qui ne sont pas sous Windows, aimeraient disposer eux aussi d'un outil aussi simple.

Finissons d'ailleurs sur une touche de mécontentement : le code source de ce client pour Windows n'est pas diffusé pour le moment, ce qui est un comble. GitHub précise néanmoins qu'il exploite C#, libgit2, Caliburn.Micro et ReactiveUI pour l'interface, mais aussi le Chromium Embedded Framework, Json.NET, RestSharp, la v3 de sa propre API ou encore Reactive Extensions.

Vous trouverez tous les détails au sein de l'annonce, en attendant la création d'un éventuel dépôt. N'hésitez pas à nous faire savoir ce que vous pensez d'un tel outil et quelles sont les solutions de gestion des versions que vous utilisez pour vos différents projets, au sein de nos commentaires.
Publiée le 22/05/2012 à 15:30

Soutenez l'indépendance de Next INpact en devenant Premium

  • Tout le contenu de Next INpact sans pub
  • Et bien plus encore...

Il y a 29 commentaires

Avatar de seb2411 INpactien
seb2411 Le mardi 22 mai 2012 à 15:39:26
Inscrit le vendredi 24 octobre 08 - 3062 commentaires
C'est vrai que même sous linux ça manque un peu de vrais outils graphiques pour GIT. La ligne de commande fonctionne bien mais bon une petite UI serait sympa.

Canonical avec Bazaar propose une interface complète à défaut d'être super ergonomique.

Edité par seb2411 le mardi 22 mai 2012 à 15:43
Avatar de freechelmi INpactien
freechelmi Le mardi 22 mai 2012 à 15:45:56
Inscrit le vendredi 25 novembre 05 - 1761 commentaires
tant que c'ets pas confirmé qu'on ne peux pas interagir avec des depots ailleurs que GitHub , ça enleve beaucoup l'interet non ?
Avatar de David_L Equipe
David_L Le mardi 22 mai 2012 à 15:47:33
Inscrit le vendredi 13 septembre 02 - 26616 commentaires
tant que c'ets pas confirmé qu'on ne peux pas interagir avec des depots ailleurs que GitHub , ça enleve beaucoup l'interet non ?

Bah pas si tu utilise principalement GitHub, après tu peux tout faire sur ton dépôt local, faudra juste faire le Push à la main si c'est le cas. Mais bon avec mes 50 clefs SSH qui se marchent dessus, ça peut aussi venir de là, faudrait que je fasse un essai sur une machine propre. En tous cas le client plante à chaque demande de sync sur mon dépôt hébergé sur le serveur de Dév de PCi.

Pis bon, faut pas oublier que c'est un client Github pour Windows

Edité par david_l le mardi 22 mai 2012 à 15:56
Avatar de Yangzebul INpactien
Yangzebul Le mardi 22 mai 2012 à 15:50:33
Inscrit le mardi 6 mai 03 - 2720 commentaires
Je viens de le tester cet aprèm et mon verdict est formel :

Bordel ! De tout les clients de repos tout types confondus (CVS, SVN et GIT) que j'ai pu tester celui-ci est véritablement le meilleur. Et quand je dis meilleur c'est pas "un peu mieux" mais bien des années d'avances sur la concurrence.

Dès ce soir tortoiseGit fera ses adieux à mon portable !



PS : petite précision qui si je ne me trompe est absente de la news, bien que la plateforme GitHub soit mise en avant par le client, son utilisation n'est pas du tout obligatoire et ce même si vous ne vous restreignez pas aux repos locaux. Il est parfaitement possible de faire des push vers n'importe quel repos distants (primary remote dans la terminologie Git), c'est donc parfait même pour ceux qui ne veulent pas confier leur codebase à un tiers !
Avatar de Baldurien INpactien
Baldurien Le mardi 22 mai 2012 à 15:50:51
Inscrit le lundi 9 mai 05 - 747 commentaires
C'est vrai que même sous linux ça manque un peu de vrais outils graphiques pour GIT. La ligne de commande fonctionne bien mais bon une petite UI serait sympa.

Je ne sais pas pour Linux, mais TortoiseGit fonctionne bien pour les tâches courantes. gitk aussi d'ailleurs, bien que les options ne soient pas forcément explicites (la version française ne doit pas aider aussi...). Par contre, le diff sous gitk est un vrai anti pattern d'ergonomie :P

Je commite principalement via TGit, afin de relire les modifications, mais pour le reste, ligne de commande. Je trouve cela plus efficace, et la partie graphique n'a d'utilité (pour moi) que pour des tâches particulières (voir l'historique, etc).
Avatar de Firefly' INpactien
Firefly' Le mardi 22 mai 2012 à 15:51:01
Inscrit le dimanche 29 août 10 - 121 commentaires
Oui client git hub, mais bon, si on peu interagir avec d'autre dépôt c'est mieux, avoir des softs différent entre les dépôts c'est pas le top je pense :/ Tiens nous au courant de tes tests ! :)
Avatar de Yangzebul INpactien
Yangzebul Le mardi 22 mai 2012 à 15:52:54
Inscrit le mardi 6 mai 03 - 2720 commentaires
tant que c'ets pas confirmé qu'on ne peux pas interagir avec des depots ailleurs que GitHub , ça enleve beaucoup l'interet non ?


Non : cf mon message plus haut.
Tu crée ton repo en local > config > primary remote

Et si tu veux faire un truc non prévu via l'interface tu peux ouvrir un prompt à tout moment.
Avatar de freechelmi INpactien
freechelmi Le mardi 22 mai 2012 à 15:54:57
Inscrit le vendredi 25 novembre 05 - 1761 commentaires
Cool si ça marche avec tous les depots , mais obliger d'installer une nouvelle version de .net -> Pas pour moi , je restes sur Tortoise Git
Avatar de David_L Equipe
David_L Le mardi 22 mai 2012 à 15:55:46
Inscrit le vendredi 13 septembre 02 - 26616 commentaires
PS : petite précision qui si je ne me trompe est absente de la news, bien que la plateforme GitHub soit mise en avant par le client, son utilisation n'est pas du tout obligatoire et ce même si vous ne vous restreignez pas aux repos locaux. Il est parfaitement possible de faire des push vers n'importe quel repos distants (primary remote dans la terminologie Git), c'est donc parfait même pour ceux qui ne veulent pas confier leur codebase à un tiers !

Si je précise que tu peux tout gérer en local, et même utiliser l'appli sans être loggué.

Par contre tu as pu faire un Push sur un dépôt distant ? Ici plantage direct :/ Si oui, je modifie le passage où j'en parle du coup

Par contre tu confirmes qu'il faut ajouter le dépot, aller dans ses paramètres et changer le primary remote, et aucune possibilité d'en avoir d'autre ou même un upstream ?
Avatar de dodo021 INpactien
dodo021 Le mardi 22 mai 2012 à 15:57:02
Inscrit le mardi 5 avril 11 - 401 commentaires
En plus d'être très pratique, elle utilise Metro !
Très bon choix c'est clair, simple et rapide =)
;