Lorsque vous vous initiez à la programmation, l’un des premiers concepts que devez apprendre est celui de la gestion de votre code source. Plus précisément, vous apprenez à versionner les modifications que vous faites à celui-ci. À l’époque où nous nous trouvons, il y a deux philosophies qui s’offrent à vous lorsque qu’il est temps de faire la gestion de votre code source.
La première est ce que j’ai nommé la voie classique. C’est à dire le système de gestion centralisé.
Ce système est très populaire et son principal représentant est Subversion. Son fonctionnement est dit centralisé car vos changements sont toujours comparés à une copie de votre code présent sur un serveur central. Sa popularité est principalement liée au fait de la facilité de compréhension du workflow d’utilisation de celui ci.
L’alternative à ce concept est celui du système de gestion de version décentralisée. Celui-ci propose une façon de travaillée qui, comme le nom le dit, est décentralisée. C’est-à-dire que chaque contributeur au dépôt de code travaille de façon asynchrone des autres.
Dans ce domaine, il y a deux principaux prétendant au titre : Git et Mercurial. Ceux-ci offrent des fonctionnalités similaires offrant, pour chacun, des pour et des contres. Néanmoins, il est que Git a été popularisé par le service en ligne Github.
Comme le dit l’expression tirée de mon propre livre : une fois que vous en avez vu un, vous les avez tous vus. Alors, ce billet va se concentrer uniquement sur Git.
Introduction à Git
Git a été développé en 2005 par Linus Torvalds lui-même en réponse au fait que le système de gestion de sources BitKeeper ne fût plus disponible en utilisation gratuite.
Si vous désirez en savoir plus sur l’historique de Git et le contexte dans lequel il a été créé, je vous conseille d’aller consulter la page Wikipédia qui lui est dédié.
J’ai mentionné, en introduction, que Git est un système décentralisé. Cela signifie que tous les contributeurs à un projet ont une copie du repository sur leur poste de travail. Cette philosophie de travail fait en sorte que chaque contributeur a la responsabilité d’évaluer les changements qui ont été apportés au repository principal et de faire la gestion des conflits de version, s’il y en a.
Comment ça marche?
L’utilisation de git se résume à quelques commandes. Il a certains outils graphiques qui permettent de l’utiliser sans avoir à recourir à la ligne de commande. Toutefois, quoi de mieux que d’écrire pour retenir quelque chose?
Minimum pour être fonctionnel, il faut savoir la définition de certaines commandes pouvant être exécutées dans Git. Pour cela, je recommande d’aller directement à la source et d’aller lire la documentation officielle de Git.
Une fois familier avec le concept, il y a ce billet qui décrit une façon assez simple et concrète pour utiliser Git dans le cadre du développement d’un application.
Il ne faut pas oublier de mentionner que vous pouvez vous initier à Git grâce à un tutoriel en ligne accessible ici : http://try.github.com/.
Les outils
Près de cinq cent mots sans aborder le sujet de son utilisation, dans le concret? Pour un développeur utilisant Windows, il y a quelques possibilités afin de vous permettre d’utiliser Git.
#1 – Git, directement au métal
Cette possibilité implique que vous connaissez les commandes git par coeur et que vous êtes confortable a travailler en ligne de commande en tout temps. De plus, vous pouvez oublier l’intégration de celui-ci à l’IDE de votre choix.
Même si cela est l’option #1, ce ne serait pas mon premier choix.
#2 – Github for Windows
Jusqu’à tout récemment, Github for Windows est devenu le choix de préférence pour utiliser Github à partir de votre poste Windows.
Si vous ne l’avez pas d’installé, vous ne le regretterez pas. De plus, à son installation, votre poste de travail sera pleinement configuré pour être en mesure d’utiliser Git à partir de la ligne de commande. Une pierre deux coups!
#3 – Git dans Visual Studio
L’annonce de la disponibilité d’une extension, développée par Microsoft, à Visual Studio 2012 a été faite dans la semaine du 4 février passée.
Cette extension permet de faire la gestion de vos sources avec Git directement à partir de Visual Studio sans requérir à une librairie tierse. Avec cette extension-ci, vos sources ayant besoin d’être commitées ou même soumises au serveur master peut se faire directement à même Visual Studio.
Je l’utilise maintenant à temps plein depuis qu’elle est disponible sur le web et je n’ai arrêté depuis!