C’est quoi GIT ?

Vous en avez entendu parler mais vous n’arriver toujours pas à comprendre ce que c’est et à quoi ça sert ? Je vais essayer de vous l’expliquer.

GIT est un logiciel de gestion de version bien connu des développeurs. C’est un outil qui s’utilise principalement en ligne de commande. Et on l’utilise souvent. Il permet notamment de sauvegarder tout un dossier de travail à n’importe quel moment sur un serveur distant, mais pas que.

Il permet aussi de créer des versions alternatives d’un projet, de voyager dans le temps, de travailler à plusieurs, mais aussi de mettre un site en ligne !

Gestion de versions

De voyager dans le temps ? Oui, à l’échelle d’un projet. Globalement un site web est développé dans un dossier, qui contient plein de sous-dossiers et de fichiers aux extensions diverses et variées.

Imaginez : vous commencez à développer un site. Vous faites la v1. Elle fonctionne très bien, pas de problème. Vous la sauvegardez avec GIT. Vous faites la v2, ça va très bien aussi. Vous sauvegardez encore avec GIT. Puis la v3, vous vous plantez, plus moyen de revenir en arrière tellement vous avez modifié de fichiers (quand ce n’est pas l’architecture totale du projet). Même ctrl + z à ses limites.

Qu’est-ce que vous faites dans ce cas là ?

Vous pleurez ?

Vous supprimez le dossier et recommencez à zéro ?

Non. Comme vous avez sauvegardé plusieurs étapes de votre projet avec GIT, il vous est possible de revenir en arrière. Comme si de rien n’était.

J’ai commencé à utiliser GIT avec GitHub, cela me permettait d’avoir des sauvegardes en ligne facilement de tous les projets sur lesquels je travaillais. En quelques lignes de commandes.

C’est un avantage extraordinaire d’avoir un lieu ou regrouper tous les projets sur lesquels on a travaillé un jour. Cela fait quelques années que je m’intéresse au développement informatique. J’ai déjà changé plusieurs fois d’ordinateur. Il y a des choses que j’ai perdu et dont je me souviens. Mais il y en a d’autres que j’ai perdu que j’ai carrément oublié. Et là ça fait beaucoup.

C’est quoi GitHub ?

GitHub c’est un peu comme le Facebook des développeurs. Une sorte de coffre-fort dans lequel stocker ses projets (et pas que pour du développement informatique !).

Prenons une comparaison. Sur Facebook vous pouvez créer des albums et y mettre des photos, sur GitHub on peut créer des dossiers pour y sauvegarder des projets. GitHub c’est un site internet auquel il faut s’inscrire et se connecter. D’ailleurs GitHub fonctionne un peu comme un réseau social (on y peut y suivre d’autres développeurs, consulter et télécharger leurs projets).

GIT par contre c’est un outil en ligne de commande qui permet d’envoyer ses projets (notamment sur GitHub). C’est un truc assez austère à première vue (comme tout programme en ligne de commande) mais qui est finalement assez simple. Vous tapez deux ou trois commandes pour faire une sauvegarde distante de votre projet.

Travailler à plusieurs

Je vais passer vite fait sur ce point. La plupart du temps je travaille seul. Mais GIT ne m’en est pas moins indispensable. Rien que pour l’organisation. Mais dans le cadre d’un gros projet ou interviennent plusieurs développeurs et intégrateurs, GIT facilite énormément le travail car il permet de fusionner toutes les versions d’une façon intelligente et documentée. Ce serait beaucoup trop long de vous détailler comment ça fonctionne, mais en gros, chaque développeur peut proposer des modifications. Il appartient alors à la personne en charge de les valider et de les incorporer dans la version principale.

Mettre en ligne un site

Le point fort de GIT c’est que d’une sauvegarde à une autre, il ne va envoyer QUE les fichiers et dossiers qui ont étés modifiés. Il va aussi supprimer ceux qui n’existent plus dans la version actuelle.

Contrairement à l’utilisation d’un client FTP comme FileZilla (qui est la méthode on va dire standard pour mettre en ligne), le déploiement via GIT est simple et automatique. Il n’y a rien qui traine. La copie en ligne est exactement la même que celle que vous avez validé. Si on veut obtenir le même résultat avec un client FTP, il faut supprimer tout le site, puis mettre en ligne la nouvelle version.

Avec GIT, les nouveaux fichiers sont ajoutés, ceux qui ont été modifiés le sont aussi sur le serveur, et ceux qui n’existent plus dans la nouvelle version sont automatiquement supprimés, et c’est TOUT. Pas besoin non plus de renvoyer les fichiers qui n’ont pas bougé.

Un site internet, mine de rien, peut peser jusqu’à plusieurs Go. Déployer avec GIT permet donc de mettre en ligne des modifications en quelques secondes, et sans se prendre la tête.

Sans se prendre la tête

J’ai essayé d’être le plus simple possible dans cet introduction à GIT. Je parle souvent de GIT, et si nous travaillons ensemble, sait-on jamais, et que vous ne savez pas ce que c’est, vous pourrez y trouver quelques explications. J’espère que vous avez compris quelque chose à tout ce que je viens de raconter. Sinon, ne vous inquiétez pas, sachez juste que GIT, c’est bien.