Git est un logiciel de gestion de versions décentralisé (distribué), libre, créé par Linus Torvalds, et distribué selon les termes de la licence publique générale GNU version 2. Git fait donc partie de cette famille d’outils de gestion de versions absolument nécessaires à tout projet de développement qui se respecte. Cette famille comprends de nombreux membres payants (VSS, Rational ClearCase, Rational Synergy) et Open Source (Bazaar, CVS, Mercurial, Subversion etc…).

Git est distribué (comme Mercurial et Bazaar) et non centralisé (CVS, Subversion), c’est à dire que chaque développeur possède l’historique des modifications. Une vidéo de quelques secondes résume ici les avantages d’un tel système.

Git a été initialisé par Linus Torvalds avec les points suivants en tête:

  • Prendre CVS comme exemple à ne pas suivre et dans le doute faire le contraire
  • Supporter un workflow distribué “à la” BitKeeper
  • Avoir de puissants garde-fous contre la corruption accidentelle ou intentionnée
  • Avoir un haut niveau de performance

Le tableau ci-dessous résume les principales commandes des offres Open Source les plus connues.

git-commands-in-comparison

Une excellente étude sur les performances des trois outils les plus utilisés (Git, Mercurial, Bazaar) est disponible sur ce site montrent que le niveau de performances exigés par l’initiateur du projet est bien une réalité de Git.

Une fois cela présenté, il reste les deux systèmes assez proches que sont Git et Mercurial qui possèdent chacun de grandes qualités dans ce modèle distribué. Une comparaison complète, datée du 19 janvier 2013, est disponible ici.

Github

Il y a un autre aspect qui fait que travailler avec Git est un plaisir, surtout si les équipes sont géographiquement éloignées les unes des autres.

Github permet au moyen d’une interface simple et propre, de facilement naviguer dans l’historique du projet, avec les changements/modifications par commit, ainsi qu’une revue de code simple et sans heurt.

Liens

Les liens ci-dessous résume l’utilisation de Git et sa “philosophie” ainsi que la position de celui-ci avec ses concurrents. On y retrouvera les points abordés ici.

Utilisation

La Eclipse Foundation, dans son rapport annuel de communauté (the annual community survey)  de mai 2012 indique que plus de 27% des développeurs professionnels utilisent Git comme premier outil de gestion de versions, en augmentation de 12.8% par rapport à 2011. Le portail Ohloh reporte la même progression dans les projets Open Source.

Le site anglais itjobswatch.co.uk a publié en décembre 2012, qu’environ 10% des offres d’emplois au Royaume Uni en CDI (permanent jobs) indiquent une maitrise de Git comme nécessaire, à comparer avec 17.3% pour Subversion, 8.7% for Microsoft Team Foundation Server, et 1.9% for Visual SourceSafe.

Dans tous les cas, la progression de Git est marquée, et est due aux qualités, performances et souplesse de l’outil. De plus, l’augmentation de son utilisation, si elle traduit les qualités intrinsèques de l’outil, laisse présager un futur encore meilleur avec l’implication de plus d’utilisateurs et de contributeurs.

Une liste des projets utilisant Git (avec leur GitHub) est disponible en ligne. On y retrouve certaines “success stories” de l’Open Source comme VLC (premier video player au monde) et Android.