Une fois n’est pas coutume, ce ne sera pas un billet sur Drupal, mais sur le système de versionning du nom de Git. Et pour une fois (c’est vraiment pas un billet comme d’habitude) pas de code ou d’explication de ma part, mais plutôt une liste de ressources pour une prise en mains de cet outil en douceur. Il est vrai qu’en ce moment on en parle pas mal dans la communauté Drupal et notamment parce que les différents projets sont en cours de migration de Cvs vers Git.

Git, c’est quoi ?

Lorsqu’on travaille à plusieurs sur un même projet on est vite confrontés à un problème majeur, comment sauvegarder le travail de chacun surtout lorsque des fichiers en communs sont modifiés? Afin de répondre à cette problématique des outils de gestion de versions tel que Git, Cvs, Svn ou encore Bazaar on été crées. Quel que soit le logiciel, le principe est le même, c’est à dire, sauvegarder les fichiers et leurs modifications sur un serveur tout en conservant la chronologie des actions effectuées (+ d’infos). Git, Bazaar et Mercurial se valent globalement car ils sont récents et puissants avec chacun leurs avantages et inconvénients (histoire de les différencier), mais ce n’est plus le cas de Cvs qui est maintenant vieillissant.

Pourquoi Git ?

A l’heure d’aujourd’hui je n’ai pas encore eu beaucoup l’occasion de jouer avec, mais du peu que j’ai vu et des échos passionnés que j’ai entendu (n’est ce pas Yann et Charles-henri), Git à quelques avantages appréciables. Je ne compte pas faire ici une comparaison avec les autres systèmes de versionning mais voici quelques-unes de ses forces.

  • Une bonne gestion de branche, il devient ainsi facile de faire une branche pour tester un bout de code.
  • La fusion des fichiers est bien mieux gérée qu’avec svn par exemple.
  • Git offre la possibilité de commiter sur un projet sans être connecté au serveur.
  • Il est rapide et puissant.
  • Git surveille le contenu et non les fichiers, c’est à dire que le système est capable de savoir qu’une fonction à été déplacée d’un fichier à un autre.

Notez aussi qu’il existe des plate-formes collaboratives Git (GitHub et Gitorious) sur lesquelles vous allez pouvoir créer et gérer vos projets sans avoir à installer un quelconque serveur.

Comprendre et utiliser Git

Il y a suffisamment de docs sur le sujet maintenant, alors pas besoin d’en faire une de plus, du coup j’ai choisi de vous lister les meilleurs articles, guides et autres tutos que j’ai trouvés et que l’on ma gentiement indiqué lors de mon ascension Git :

Quelques commandes à retenir

Comme pour chaque outils il existe toujours un tas de commande, voici certainement les plus populaires :

git init – initialiser un nouveau dépôt
git add – ajouter un nouveau fichier à l’index du projet pour qu’il soit pris en compte dans le versionning
git commit – valider les modifications.
git pull – pour télécharger les nouveautés depuis le serveur
git push – pour envoyer vos modifications sur le serveur
git status – pour connaître toutes les modifications qui n’ont pas encore été validées

git branch – crée une nouvelle branche de développement.
git merge – fusionne plusieurs branches de développement.
git revert – pour annuler des modifications et revenir à une certaine version.
git diff – voir ce qui a changé sur un fichier depuis une certaine version



J’espère qu’avec ces ressources Git n’aura plus de secret pour vous maintenant! Si vous trouvez des articles qui ont leur place dans cette liste n’hésitez pas à me le faire savoir.

Crédits Photo