Introduction à Git

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!

Advertisements

2 avis sur « Introduction à Git »

  1. fjoanis dit :

    Pour Windows je suis pas mal sûr que lorsque SourceTree va être disponible, il va devenir l’outil git incontournable. http://blog.sourcetreeapp.com/2013/02/14/sourcetree-for-windows-beta-signup/
    SourceTree a été développé par le même programmeur que Ogre3D, racheté par Atlassian.

    Au niveau des SCM centralisées, SVN c’est bien cute, mais le vrai outil c’est Perforce. Perforce est utilisé par Google (http://www.perforce.com/blog/110607/how-do-they-do-it-googles-one-server-trick), Microsoft et presque partout dans l’Industrie des jeux vidéos.

    Je viens de commencer à utiliser git et pour le moment ça va bien. Une de mes inquiétudes c’est au niveau de la gestion des binaires et la taille des binary résultants … une branche de data sur mon projet actuel fait 700 Go syncer à la version la plus récente! Si j’ai bien compris, chaque diff est syncer en local. Ça voudrait dire que pour mon projet actuel il me faudrait un disque dur en PêtaOctet pour avoir toutes les révisions qui ont été faites au data en 4 ans de projet !!! ???

    Mais si on utilise git uniquement pour le code source ça me semble un très bon outil :)

    • Tu as raison pour Perforce. Il s’agit d’un outil que je connais de nom seulement. Jamais utilisé, malheureusement.

      Pour les binaires, je suis du même avis que toi. Je ne suis pas vraiment convaincu que Git soit vraiment adapté pour ce scénario d’utilisation.

Laisser un commentaire

Entrer les renseignements ci-dessous ou cliquer sur une icône pour ouvrir une session :

Logo WordPress.com

Vous commentez à l’aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l’aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l’aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l’aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s

%d blogueurs aiment ce contenu :