Retour
GIT: introduction

Cours et tutoriels pour apprendre à versionner vos projet et travailler en équipe en utilisant GIT.
Exemple: Commandes de bases, branches, Github
Git c'est quoi ?
Git est un système de gestion de version distribué.
Cela signifie que contrairement à d'autres systèmes de gestion de version centralisés, tels que SVN, où toutes les versions du code sont stockées sur un serveur central, dans Git, chaque développeur a une copie complète de l'historique du code sur son propre ordinateur.
Cela permet à chacun de travailler sur son propre code sans avoir à se soucier de la disponibilité d'un serveur central.
Lorsqu'un développeur effectue un commit (enregistrement) de ses modifications dans Git, ces modifications sont synchronisées avec les autres copies du code pour tenir compte des contributions de chaque développeur.
Cela signifie que le code est toujours disponible, car chaque développeur a une copie complète de l'historique du code.
En outre, la gestion de version distribuée de Git offre une meilleure flexibilité et une plus grande sécurité, car les développeurs peuvent travailler indépendamment les uns des autres, ce qui réduit les risques de conflits.
De plus, la gestion de version distribuée permet également un travail en collaboration plus efficace, car les développeurs peuvent travailler sur des branches différentes et fusionner leurs modifications sans affecter les autres développeurs.
Installation
L'installation de Git dépend du système d'exploitation utilisé sur votre ordinateur. Voici les étapes pour installer Git sur les principaux systèmes d'exploitation :
Windows et MacOS
- Téléchargez le fichier d'installation de Git à partir du site web officiel.
- Exécutez le fichier d'installation et suivez les instructions à l'écran.
- Une fois l'installation terminée, ouvrez Git Bash pour utiliser la ligne de commande de Git.
Linux
Pour les distributions basées sur Debian, telles que Ubuntu et Linux Mint, vous pouvez installer Git en utilisant la commande suivante :
sudo apt-get install git
Pour les distributions basées sur Red Hat, telles que Fedora et CentOS, vous pouvez installer Git en utilisant la commande suivante :
sudo yum install git
Après l'installation de Git, vous pouvez vérifier la version installée en utilisant la commande suivante :
git --version
Architecture de Git
L'architecture de Git est conçue pour gérer les versions de fichiers de manière efficace.
Il utilise un système de références pour suivre les différentes versions d'un fichier et un système de hachage pour assurer la sécurité et l'intégrité des données.
Les références dans Git sont des pointeurs vers des commits spécifiques.
Chaque commit représente une version d'un ensemble de fichiers. Chaque commit a un identifiant unique, appelé hash, qui est généré à partir des données du commit.
Les références peuvent être utilisées pour accéder à des commits spécifiques et suivre l'historique des modifications.
Les branches dans Git sont également des références qui pointent vers des commits.
Elles permettent de suivre différentes versions d'un même projet et de travailler sur des modifications indépendantes sans affecter les autres développeurs.
Les branches peuvent être fusionnées pour inclure les modifications de plusieurs développeurs dans une seule version du code.
Les dépôts distants dans Git sont des références à des copies du code sur des ordinateurs distants.
Ils permettent aux développeurs de travailler sur le même code à partir de différents emplacements et de synchroniser leurs modifications.
Terminologie de base de Git
La terminologie de base de Git est importante pour comprendre comment fonctionne ce système de gestion de version. Voici les termes clés à connaître :
-
Repository (ou dépôt) : un dépôt est un dossier contenant toutes les informations nécessaires pour suivre les modifications apportées à un ensemble de fichiers. Il peut être local (sur votre ordinateur) ou distant (sur un serveur en ligne).
-
Commit (ou validation) : un commit représente une version d'un ensemble de fichiers. Chaque commit contient un message décrivant les modifications apportées, ainsi que des informations sur le moment et l'auteur de la validation.
-
Branch (ou branche) : une branche est une série de commits formant une version spécifique du code. Les branches peuvent être utilisées pour travailler sur des modifications indépendantes sans affecter les autres développeurs.
-
Merge (ou fusion) : un merge est l'opération permettant de fusionner les modifications apportées sur une branche avec une autre branche.
-
Pull Request (ou demande de récupération) : une pull request est une demande envoyée à d'autres développeurs pour fusionner une branche avec une autre. Cela permet de revoir et de discuter les modifications avant de les intégrer au code principal.
-
Remote (ou dépôt distant) : un dépôt distant est une copie du code sur un serveur en ligne. Les développeurs peuvent travailler sur le même code à partir de différents emplacements et synchroniser leurs modifications en utilisant un dépôt distant.
Commandes de base Git
1. Initialiser un dépot local
Pour initialiser un dépôt Git, vous devez utiliser la commande:
git init
Cette commande crée un répertoire Git dans votre répertoire de travail et initialise les fichiers de configuration de Git.
2. Manipulation de fichiers
L'architecture de Git comporte trois zones principales : le workdir
, la staging area
et le dépôt local
:
-
Le
workdir
est le répertoire où se trouvent les fichiers que vous avez téléchargés sur votre ordinateur. Les modifications apportées aux fichiers dans leworkdir
ne sont pas encore enregistrées dans le dépôt Git. -
La
staging area
est une zone intermédiaire où les modifications apportées aux fichiers dans leworkdir
peuvent être préparées pour être enregistrées dans le dépôt Git. La commandegit add
ajoute les fichiers modifiés à lastaging area
, ce qui signifie qu'ils seront inclus dans le prochain commit. -
Le
dépôt local
est la copie de travail complète de votre dépôt Git sur votre ordinateur. Les commits effectués avec la commandegit commit
sont enregistrés dans ledépôt local
.
Ajouter des fichiers à Git
Pour ajouter des fichiers à un dépôt Git, vous devez utiliser la commande git add
. Cette commande permet de suivre les fichiers dans Git et de les préparer pour le commit.
git add nom_du_fichier
Enlever des fichiers de Git
Pour enlever des fichiers à un dépôt Git, vous pouvez utiliser la commande git reset
. Cette commande permet de de supprimer des fichiers depuis la staging area
.
git reset nom_du_fichier
Faire un commit
Une fois que vous avez ajouté des fichiers à Git, vous pouvez les enregistrer en faisant un commit.
La commande git commit
permet de faire un commit et d'ajouter un message de commit qui décrit les modifications apportées aux fichiers.
git commit -m "Message de commit"
3.Informations sur le dépot
Etat du dépot
Cette commande affiche des informations sur les fichiers qui ont été modifiés, ajoutés ou supprimés par rapport à la dernière version enregistrée dans le dépôt.
git status
Historique des commits
Cette commande affichera tous les commits du dépôt, avec leur hash, la date, l'auteur et la description.
git log
Vous pouvez également utiliser des options pour afficher plus ou moins d'informations.
Par exemple, pour afficher uniquement le hash et la description des commits, vous pouvez utiliser l'option --pretty=oneline
:
git log --pretty=oneline
Il est également possible de filtrer les résultats pour afficher uniquement les commits pertinents.
Par exemple, pour afficher les commits de la dernière semaine, vous pouvez utiliser l'option --since
:
git log --since='1 week ago'
Différences entre les commits
Cette commande affiche les modifications apportées aux fichiers entre les différents commits.
git diff nom_du_commit_1 nom_du_commit_2
Les noms du commits sont les références obtenues lors de l'execution de la commande git log
.
Exercice pratique
- Créez un nouveau dépôt local Git.
- Ajoutez quelques fichiers et enregistrez-les sous forme de commits avec des descriptions différentes.
- Utilisez les commandes pour trouver le hash d'un commit précédent se déplacer vers lui.
- Essayez de revenir à la branche principale.
Conclusion
En conclusion, Git est un outil puissant pour la gestion de version et les commits sont la pierre angulaire de ce système.
La compréhension de la navigation et du déplacement entre les commits est cruciale pour travailler efficacement avec Git.