Ce chapitre propose une introduction au logiciel Git et à la gestion de versions.

Logo de Git

Qu’est-ce que Git ?

Git est un logiciel de gestion de versions décentralisé. C’est un puissant outil de collaboration, indispensable dans tous les types de projets informatiques.

D’où vient GIT ?

Git a été créé en 2005 par Linus Torvalds (le créateur de Linux). C’est un logiciel libre, sous licence GPL. Il existe des versions pour toutes les plateformes, y compris MacOS. Le site officiel de documentation est git-scm.com.

À quoi sert Git ?

Voici quelques-uns des avantages que Git apporte:

  • Permet à un grand nombre de collaborateurs de travailler sur un même projet, en offrant une bonne gestion des modifications.
  • Permet de synchroniser un projet entre plusieurs collaborateurs, en ayant l’assurance que tous les fichiers soient à jour.
  • Permet d’avoir un historique précis de tous les changements et modifications d’un projet. Cela permet de clarifier les questions récurrentes: “Où est la dernière version du fichier X?” et “Qu’est-ce qui a été changé entre les révisions 41 et 42”?.

Git a été inventé pour gérer des projets informatiques – du code. Mais ses avantages ont aussi été utilisés pour :

  • écrire de la documentation
  • gérer des documents légaux comme les textes de loi du gouvernement d’Allemagne
  • des données médicales, comme p.ex. les données Covid (direction de santé du canton de Zurich)
  • Git est très utilisé dans le domaine du design typographique. Exemples: chez Google Fonts, chaque fonte est gérée dans Github.

Travailler avec Git

Git est à la base un outil “en ligne de commande”. Afin d’avoir un meilleur confort d’utilisation, il existe divers logiciels offrant une interface graphique.

Voir les logiciels

Il existe également des services en ligne (comme GitHub) permettant d’héberger des projets Git, afin de faciliter la collaboration et d’avoir une sauvegarde en ligne.

Voir GitHub et autres hébergements

Ce que Git ne fait pas très bien:

La gestion de données “binaires”, des fichiers audio (WAV, MP3…) ou vidéo (MP4, MOV…).

Il existe des solutions comparables à Git pour certaines applications:

  • Abstract, pour le versionnage et la collaboration dans le design d’interfaces. Gère les formats Sketch et Adobe XD.
  • Frame.io - “cloud-based collaboration platform” pour la vidéo.
  • Perforce Helix Sync - “the game and media standard for version control”. Pour des logiciels Maya, 3ds Max, Photoshop, dans le domaine du jeu vidéo et de la production virtuelle.
  • Alienbrain - pour “les principaux outils artistiques en 3D et en 2D”: Unreal Engine, Autodesk 3DS Max, Autodesk Maya, Adobe Photoshop. Vise les industries du jeu vidéo, de l’architecture, de l’ingénierie.