Qu'est-ce que git ?
Définition : gestionnaire de versions
git[1] est un gestionnaire de versions de fichiers répartis. Il est principalement utilisé pour la gestion de projets de développement logiciel, en permettant la gestion des versions des fichiers de code sources, mais il peut être utilisé en fait pour gérer tout type de documents (documents LaTeX, bureautiques, bibliographiques, etc).
Contrairement à d'autres systèmes de gestion de versions, git[1] garde mémoire de l'état d'un ensemble de fichiers, en sauvegardant ceux qui ont été modifiés, et en gardant un lien vers ceux qui n'ont pas été modifiés. Ainsi, à chaque étape de vie d'un projet, on peut retrouver l'ensemble des fichiers dans l' état correspondant à cette étape.
Les différents fichiers peuvent subir des modifications au gré de l'évolution du projet, toutes les modifications sont versionnées : on peut revenir à une version précédente d'un fichier, ou de l'ensemble du projet.
Définition : dépôt
L'ensemble d'un projet versionné est appelé dépôt. Un dépôt peut être partagé entre plusieurs utilisateurs, afin de permettre un travail collaboratif sur ce projet.
Chaque utilisateur peut contribuer en envoyant ses modifications (check-in) ou récupérer les modifications des autres contributeurs (check-out).
Remarque :
Contrairement à la plupart des gestionnaires de version, git[1] fonctionne en mode décentralisé : il n'y a pas de dépôt central, et chaque dépôt local dispose de l'ensemble de l'information de versionning. Les fichiers de suivis sont présents chez chacun des collaborateurs. Ce mode décentralisé garantit à tout moment l'accès à l'ensemble des sources.