Qu’est-ce que le versioning ?
Le versioning est l’enregistrement de chaque modification apportée à un ou plusieurs fichiers. Il joue un rôle crucial dans la gestion des projets, en particulier dans les domaines du développement logiciel et du design numérique. Ce processus permet aux équipes de travailler de manière plus coordonnée, en offrant la possibilité de revenir à des versions antérieures d’un fichier en cas d’erreur ou de décision de changer de direction. En outre, le versioning facilite la collaboration en permettant à plusieurs utilisateurs de modifier différents aspects d’un projet sans risque de conflit ou de perte de données importantes.À quoi sert de « versioner » son code ?

Les outils
Plusieurs outils vous permettent de gérer les versions de vos fichiers, les principaux sont SVN, CVS et GitHub. Nous détaillerons les fonctionnalités de ce dernier qui est communément utilisé.GitHub
Introduction
GitHub est un outil open-source qui est utilisé pour sauvegarder et traquer les changements apportés vos codes et fichiers. Mais ce n’est pas tout, il est beaucoup utilisé par les équipes de développeurs grâce à ces fonctionnalités de collaboration. Après la création de votre compte sur GitHub, vous avez la possibilité de créer des répertoires, publics ou privés, afin d’y stocker vos fichiers.Historisation des changements
Une fois GitHub installé sur votre ordinateur, vous pouvez initialiser un dossier connecté à GitHub. Ce dossier et les fichiers qu’il contient alimentent le répertoire préalablement créé sur GitHub. Vous pouvez ajouter, modifier ou supprimer des fichiers du répertoire en question. Les modifications ne sont pas enregistrées à chaque action, c’est vous qui déclenchez manuellement l’enregistrement des changements. À chaque enregistrement, une nouvelle version du dossier est créée qui vous permettra d’historiser vos modifications et servira de checkpoint afin de revenir en arrière si nécessaire.Les branches
Pour assurer la stabilité du code, il est essentiel de ne pas polluer la dernière version fonctionnelle du code. Pour cela, GitHub a introduit le principe de <<branches>>. Lors de la création de votre répertoire, une branche est initialement présente, il s’agit de la branche <<main>> ou <<master>>. Le développement d’une nouvelle fonctionnalité peut prendre un certain temps, et après la finalisation de celle-ci, il faut la tester. Vous pouvez créer une branche à partir de la branche main (ou master) qui sera une copie parfaite de la branche main. Cela vous permet d’isoler votre développement du code fonctionnel. Voici, un schéma pour vous aider à comprendre : Les branches ont 2 principales fonctions :- assurer la stabilité du code lors d’une phase de développement que ce soit l’ajout d’une fonctionnalité ou la réparation d’un bug ;
- permettre la collaboration de plusieurs développeurs au sein du même projet.




