La gestion de versions (ou versioning) consiste à maintenir l’ensemble des versions d’un ou plusieurs fichiers. Essentiellement utilisée dans le domaine de la création de logiciels, elle concerne surtout la gestion des codes source. Git est, en 2016, le logiciel de gestion de versions le plus populaire. Cet environnement multi-plateforme écrit en C, Shell Unix, Perl, Tcl et GNU Bash a été développé par Linus Torvalds, auteur du noyau Linux.
A la différence de SVN ou CVS, Git fonctionne de façon décentralisée : il permet ainsi de travailler sur un projet, sans être connecté au gestionnaire de version, de manière désynchronisée, puis d’apporter sa contribution en proposant ses modifications, à son rythme.
Voici quelques commandes utiles :
- git init : crée un nouveau dépôt
- git clone : clone un dépôt distant
- git add : ajoute de nouveaux objets blobs dans la base des objets pour chaque fichier modifié depuis le dernier commit. Les objets précédents restent inchangés
- git commit : intègre la somme de contrôle SHA-1 d’un objet tree et les sommes de contrôle des objets commits parents pour créer un nouvel objet commit
- git branch : crée une nouvelle branche de développement
- git merge : fusionne plusieurs branches de développement