9.0 Un peu d'histoire
Depuis sa création, l'outil Git DVCS avait une branche par défaut nommée master
. Chaque dépôt Git avait une branche master
, sauf si le développeur prenait des mesures explicites pour la supprimer, ce qui était rarement fait, car la branche master
joue un rôle important dans le monde du développement logiciel.
L'utilisation des termes master
et slave
(maître et esclave) dans l'industrie informatique a attiré l'attention générale à l'été 2020 dans un contexte de nombreuses manifestations et de troubles sociaux croissants. Lors des discussions publiques, plusieurs alternatives pour master
ont vu le jour, parmi lesquelles default
et primary
. Cependant, le terme le plus populaire est devenu main
.
GitHub a pris des mesures et a abandonné le terme master
lors de l'initialisation d'un dépôt Git. Le passage de GitHub de master
à main
est possible dans les paramètres du compte Repositories ou avec la commande :
$ git branch -m master main
Dans les conférences, le terme master
est utilisé. Pour plus d'informations sur la transition, vous pouvez consulter les liens suivants :
9.1 Qu'est-ce que Git et pourquoi est-il nécessaire
Git est un puissant système de gestion de versions, utilisé pour suivre les modifications du code source lors du développement logiciel. Il permet aux développeurs de sauvegarder différentes versions de fichiers et de coordonner le travail de plusieurs personnes sur un projet commun.
Concepts de base de Git :
Répertoire
Un répertoire (ou "repo") est un endroit où toute l'histoire du projet est stockée, y compris toutes les modifications et versions des fichiers. Dans Git, le répertoire inclut le répertoire de travail, l'index (ou staging area) et la base de données des objets.
Commits
Un commit (commit)
est l'état sauvegardé du projet. Chaque commit dans
Git contient des informations sur les modifications apportées au
projet, par qui et quand. Les commits forment l'histoire du projet et permettent
de revenir à n'importe quelle version précédente.
Branches
Une branche (branch)
est une ligne de développement indépendante. Par défaut, Git
crée la branche main (anciennement master)
. Vous pouvez créer de nouvelles branches
pour développer de nouvelles fonctionnalités ou corrections, puis les fusionner
à nouveau dans la branche principale.
Fusion et rebasage
Fusion (merge)
et rebasage (rebase)
sont deux façons d'intégrer
les modifications d'une branche dans une autre. La fusion combine les histoires de deux
branches en créant un nouveau commit, tandis que le rebasage déplace les commits d'une
branche au sommet d'une autre, modifiant l'histoire des commits.
9.2 Principales commandes Git
Voici un tableau des principales commandes Git pour la gestion des versions :
Commande | Description |
---|---|
git init |
Initialise un nouveau dépôt Git dans le répertoire actuel. |
git clone |
Clone un dépôt à partir d'une URL dans un nouveau répertoire. |
git add |
Ajoute des fichiers à l'index pour le prochain commit. |
git commit |
Valide les modifications préparées dans le dépôt. |
git push |
Envoie les modifications du dépôt local vers le dépôt distant. |
git pull |
Met à jour la branche actuelle avec la dernière version du dépôt distant. |
git branch |
Affiche, crée ou supprime des branches. |
git merge |
Fusionne les modifications de la branche spécifiée dans la branche actuelle. |
git rebase |
Déplace les modifications vers une nouvelle base (le plus souvent, une autre branche). |
Ces commandes représentent les principaux outils de travail dans Git, permettant de gérer les modifications de code, les branches et les fusions dans des projets de toute taille. Nous les aborderons plus en détail dans les prochaines conférences.
9.3 Trois lieux de stockage du code
Lorsque vous utiliserez le système de contrôle de version pour votre code, votre code, grosso modo, sera stocké dans trois endroits :
1. Dépôt distant :
C'est un lieu centralisé pour stocker votre code, généralement hébergé sur des services tels que GitHub, GitLab ou Bitbucket. Ils offrent un stockage centralisé du code et sont une base pour le travail collaboratif.
Les dépôts distants permettent aux développeurs de partager leurs modifications, de synchroniser leurs efforts et de suivre l'historique des modifications du projet. De plus, le dépôt distant sert de point d'intégration pour l'automatisation des processus, tels que la compilation, le test et le déploiement des applications.
2. Dépôt local :
Un dépôt local est votre copie personnelle du code, stockée sur votre ordinateur. Dans ce dépôt, vous pouvez effectuer toutes les opérations Git (commits, branches, fusions) sans besoin de connexion Internet.
Les dépôts locaux permettent aux développeurs de travailler isolément de leurs collègues, d'expérimenter, de créer de nouvelles fonctionnalités ou de corriger des erreurs, avant que les modifications ne soient fusionnées (merge) et envoyées au dépôt distant.
3. Répertoire de travail :
Le répertoire de travail sur votre ordinateur contient les fichiers actuels du projet sur lesquels vous travaillez. C'est l'endroit où vous pouvez voir et modifier les fichiers, ajouter de nouvelles fonctionnalités ou corriger des erreurs.
Après avoir effectué des modifications, vous pouvez les ajouter à l'index (staging area), puis les valider dans le dépôt local. Le répertoire de travail est lié à la branche actuelle dans votre dépôt et le changement de branches modifie le contenu du répertoire de travail.
Ces composants assurent ensemble une infrastructure puissante pour la gestion du code source, permettant aux développeurs de gérer l'historique du projet, de collaborer et de partager la responsabilité du code.
9.4 GitHub, le dépôt gratuit le plus populaire
GitHub est la principale plateforme web pour l'hébergement de code source, utilisant le système de contrôle de version Git. Fondé en 2008, il est rapidement devenu l'un des outils clés pour les développeurs dans le monde entier.
GitHub permet aux utilisateurs de créer des dépôts pour gérer des projets, contrôler et suivre les modifications du code, collaborer avec d'autres développeurs et développer en mode ouvert ou privé. Il offre des fonctionnalités telles que les forks, les branches, les pull requests et les merges, permettant aux développeurs de travailler facilement ensemble sur des projets.
GitHub inclut également des fonctionnalités de suivi des problèmes, des demandes de fonctionnalités, de gestion des tâches et de wiki pour chaque projet. La plateforme s'intègre à de nombreux outils et services, offrant de vastes possibilités pour l'automatisation du développement, des tests et du déploiement des applications.
GitHub soutient une vaste communauté de développeurs, où les meilleures pratiques de programmation, de gestion de projet et bien d'autres sujets sont activement discutés. Cela en fait non seulement un outil de gestion de projet, mais aussi un centre communautaire où les développeurs peuvent partager leurs connaissances et expériences.
9.5 Inscription sur GitHub
Étape 1. Rendez-vous sur https://github.com
Étape 2. Inscrivez-vous…
Étape 3. Cliquez sur le bouton "New" pour créer un nouveau dépôt.
Étape 4. Indiquez le nom du dépôt et configurez ses paramètres.
Étape 5. Ajoutez un fichier README au projet – il nous sera utile à l'avenir.
Étape 6. Cliquez sur "Create repository".
GO TO FULL VERSION