9.0 Un peu d'histoire
Depuis sa création, l'outil DVCS Git avait une branche par défaut appelé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 tensions sociales croissantes. Lors de discussions publiques, plusieurs alternatives à master
ont été proposées, 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 :
![](https://cdn.javarush.com/images/article/9b6cbbfb-bb53-4d3d-aa24-00654bad4d8e/800.jpeg)
$ git branch -m master main
Dans les conférences, le terme master
est encore utilisé. Pour en savoir plus sur la transition, vous pouvez consulter les liens suivants :
9.1 Qu'est-ce que Git et pourquoi en avons-nous besoin
Git est un puissant système de gestion de version, utilisé pour suivre les modifications dans le code source pendant le 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 clés de Git :
Dépôt
Un dépôt (ou "repo") est l'endroit où est stockée toute l'histoire d'un projet, y compris toutes les modifications et les versions des fichiers. Dans Git, un dépôt inclut un répertoire de travail, un index (ou staging area) et une base de données d'objets.
Commits
Un commit est un état sauvegardé du projet. Chaque commit dans Git contient des informations sur les modifications qui ont été apportées au projet, par qui et quand. Les commits forment l'historique du projet et permettent de revenir à n'importe quelle version précédente.
Branches
Une branche 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 dans la branche principale.
Fusion et rebase
La fusion (merge) et le rebase sont deux moyens d'intégrer des modifications d'une branche dans une autre. La fusion combine les historiques de deux branches en créant un nouveau commit, tandis que le rebase déplace les commits d'une branche au sommet d'une autre, modifiant l'histoire des commits.
9.2 Commandes principales de Git
Voici un tableau des principales commandes Git pour gérer les versions :
Commande | Description |
---|---|
git init | Initialise un nouveau dépôt Git dans le répertoire courant. |
git clone | Clone un dépôt depuis une URL dans un nouveau répertoire. |
git add | Ajoute des fichiers à l'index pour le prochain commit. |
git commit | Enregistre 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 courante 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 courante. |
git rebase | Déplace les modifications vers une nouvelle base (souvent, une autre branche). |
Ces commandes représentent les outils principaux pour travailler avec Git, permettant de gérer les modifications du code, les branches et les fusions dans des projets de toute taille. Nous les examinerons plus en détail dans les conférences suivantes.
9.3 Trois emplacements de stockage du code
Lorsque tu utiliseras un système de contrôle de version pour ton code, ton code, en gros, sera stocké dans trois endroits :
1. Dépôt distant :
C'est l'endroit centralisé pour stocker ton code, généralement hébergé sur des services comme GitHub, GitLab, ou Bitbucket. Ils fournissent un stockage centralisé du code et sont à la base de la collaboration.
Les dépôts distants permettent aux développeurs de partager leurs modifications, de synchroniser les efforts et de maintenir l'historique des modifications du projet. Un dépôt distant sert également de point d'intégration pour l'automatisation des processus, comme la construction, les tests et le déploiement d'applications.
2. Dépôt local :
Un dépôt local est ta copie personnelle du code, stockée sur ton ordinateur. Dans ce dépôt, tu peux effectuer toutes les opérations Git (commits, branches, fusions) sans avoir besoin d'une 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 bugs 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 ton ordinateur contient les fichiers actuels du projet sur lesquels tu es en train de travailler. C'est l'endroit où tu peux voir et modifier les fichiers, ajouter de nouvelles fonctionnalités ou corriger des erreurs.
Après avoir apporté des modifications, tu peux les ajouter à l'index (staging area), puis les enregistrer dans le dépôt local. Le répertoire de travail est lié à la branche courante de ton dépôt, et changer de branche modifie le contenu du répertoire de travail.
Ces composants fournissent 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 plus grande plateforme web pour l'hébergement de code source, utilisant le système de contrôle de version Git. Fondée en 2008, elle est rapidement devenue un outil clé pour les développeurs du monde entier.
![GitHub](https://cdn.javarush.com/images/article/df1d11c1-efe6-414c-afdb-e6d5e14cbbb6/800.jpeg)
GitHub permet aux utilisateurs de créer des dépôts pour gérer des projets, contrôler et suivre les modifications dans le code, collaborer avec d'autres développeurs et développer en public ou en privé. Il offre des fonctionnalités telles que les forks, les branches, les pull requests et les merges, ce qui permet aux développeurs de collaborer facilement sur des projets.
GitHub inclut également des fonctionnalités de suivi de problèmes, de demandes de fonctionnalités, de gestion des tâches et de wiki pour chaque projet. La plateforme s'intègre avec 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 prend en charge une vaste communauté de développeurs, qui discute activement des meilleures pratiques de programmation, de gestion de projet et bien plus encore. Cela en fait non seulement un outil de gestion de projet, mais aussi un centre communautaire où les développeurs peuvent partager des connaissances et des expériences.
9.5 Inscription sur GitHub
![GitHub](https://cdn.javarush.com/images/article/38c24bb8-0bb8-4c14-bd4c-a930ac70035e/800.jpeg)
Étape 1. Va sur https://github.com
Étape 2. Inscris-toi…
Étape 3. Clique sur le bouton "New" pour créer un nouveau dépôt.
Étape 4. Indique le nom du dépôt et configure ses paramètres.
Étape 5. Ajoute un fichier README au projet — nous en aurons besoin pour la suite.
Étape 6. Clique sur "Create repository".
GO TO FULL VERSION