GIT
Git est un système de contrôle de version distribué qui permet de suivre les modifications apportées à des fichiers et de collaborer efficacement sur des projets de développement. Voici un guide détaillé pour comprendre et utiliser Git.
1. Introduction À Git
Git est principalement utilisé pour gérer des projets de développement de code source. Son avantage principal réside dans sa capacité à permettre à plusieurs utilisateurs de travailler simultanément sur un projet sans se perdre dans les versions du code.
Avantages De Git
- Contrôle de version : Garder un historique complet de toutes les modifications apportées à un projet.
- Travail collaboratif : Plusieurs personnes peuvent travailler sur un même projet sans se chevaucher.
- Branches : Créer des branches pour tester des fonctionnalités ou résoudre des bugs sans perturber la branche principale.
- Distribué : Chaque utilisateur a une copie complète de l’historique du projet.
2. Installation De Git
Sur Windows
- Téléchargez Git depuis https://git-scm.com/.
- Lancez l’installateur et suivez les instructions par défaut.
- Vous pouvez utiliser Git via Git Bash ou l’intégrer à un IDE comme Visual Studio Code.
Sur Mac
- Ouvrez Terminal.
- Exécutez la commande
brew install git
(si vous avez Homebrew installé). - Sinon, téléchargez-le depuis Git SCM.
Sur Linux
- Sur Ubuntu/Debian :
sudo apt install git
- Sur Fedora :
sudo dnf install git
3. Configuration De Git
Une fois Git installé, il est nécessaire de configurer votre nom et votre adresse e-mail, qui seront utilisés pour associer vos commits à votre identité.
git config --global user.name "Votre Nom"
git config --global user.email "votre.email@example.com"
4. Création D’un Repository (Dépôt Git)
Créer Un Nouveau Dépôt Git
- Dans votre terminal, allez dans le répertoire de votre projet.
- Initialisez un dépôt Git avec :
git init
Cela crée un dossier .git
caché dans votre répertoire, où Git stocke toutes les informations de version.
Cloner Un Dépôt Existant
Si vous voulez travailler sur un projet existant, vous pouvez cloner un dépôt Git distant (par exemple, depuis GitHub) :
git clone https://github.com/username/projet.git
Cela crée une copie locale du projet dans votre répertoire de travail.
5. Travailler Avec Les Fichiers
Ajouter Des Fichiers Au Suivi De Git
Pour ajouter un fichier à Git, vous devez l’indexer (ou le “stager”) :
git add fichier.txt
Ou pour ajouter tous les fichiers modifiés :
git add .
Vérifier L’état Des Fichiers
Pour voir les fichiers qui ont été modifiés mais pas encore commités :
git status
Commit Des Modifications
Une fois que vous avez ajouté vos fichiers, vous pouvez les valider avec un commit. Un commit représente un enregistrement de l’état actuel du projet.
git commit -m "Message décrivant les modifications"
6. Gestion Des Branches
Les branches sont utilisées pour développer des fonctionnalités ou des corrections sans affecter la branche principale (souvent appelée main
ou master
).
Créer Une Nouvelle Branche
git branch nouvelle-branche
Basculer Entre Les Branches
git checkout nouvelle-branche
Ou vous pouvez combiner les deux commandes en une :
git checkout -b nouvelle-branche
Fusionner Une Branche
Pour fusionner une branche dans la branche actuelle (par exemple, pour intégrer une fonctionnalité ou un correctif) :
git merge nouvelle-branche
Supprimer Une Branche
Une fois une branche fusionnée et inutilisée, vous pouvez la supprimer :
git branch -d nouvelle-branche
7. Travailler Avec Des Dépôts Distant
Git permet de travailler avec des dépôts distants comme GitHub, GitLab ou Bitbucket.
Ajouter Un Dépôt Distant
Lors de la création d’un dépôt local, vous pouvez ajouter un dépôt distant pour pousser (envoyer) vos modifications.
git remote add origin https://github.com/username/projet.git
Pousser Des Modifications Vers Un Dépôt Distant
git push origin main
Récupérer Des Modifications Depuis Un Dépôt Distant
Pour obtenir les dernières modifications du dépôt distant sans affecter vos fichiers locaux :
git fetch
Si vous voulez directement intégrer ces modifications dans votre branche actuelle, vous utilisez git pull
:
git pull origin main
8. Gérer Les Conflits De Fusion
Les conflits se produisent lorsque Git ne peut pas fusionner automatiquement deux branches. Git marquera les parties du fichier en conflit, et vous devrez les résoudre manuellement.
Résoudre Un Conflit
- Ouvrez les fichiers conflictuels. Git marque les conflits avec des délimiteurs comme
<<<<<<<
,=======
, et>>>>>>>
. - Modifiez le fichier pour choisir quelle version conserver.
- Après avoir résolu le conflit, vous devez ajouter les fichiers résolus :
git add fichier.conflict
- Ensuite, faites un commit pour enregistrer la résolution du conflit.
9. Voir l’Historique
Git garde une trace de l’historique des commits. Vous pouvez voir l’historique avec la commande :
git log
Cette commande affiche tous les commits, avec des informations comme l’ID du commit, l’auteur, la date et le message.
Si vous voulez voir l’historique sous forme de graphique (utile pour les branches) :
git log --graph --oneline --decorate --all
10.Revenir À Un État Précédent
Parfois, vous devrez revenir à un commit précédent.
Annuler Un Commit Local (non-poussé)
Si vous avez fait un commit local que vous souhaitez annuler, utilisez :
git reset --soft HEAD~1
Cela réinitialise l’état à un commit précédent, mais garde vos fichiers dans l’état où ils étaient.
Si vous voulez complètement annuler les modifications, vous pouvez utiliser :
git reset --hard HEAD~1
Revenir à Un Commit Spécifique
Pour revenir à un commit particulier, utilisez :
git checkout <commit-hash>
11. Gestion Des Tags
Les tags sont des marqueurs utilisés pour signaler des versions importantes du projet.
Créer Un Tag
git tag v1.0
Lister Les Tags
git tag
Pousser Un Tag Vers Un Dépôt Distant
git push origin v1.0
12. Trucs Et Astuces
-
Stashing : Si vous travaillez sur des modifications mais que vous devez changer de branche, vous pouvez “stash” vos modifications pour les appliquer plus tard.
git stash
-
Diff : Pour voir les différences entre les modifications non commises et l’état actuel des fichiers.
git diff
-
Alias : Vous pouvez créer des alias pour des commandes Git fréquemment utilisées afin de les rendre plus courtes. Exemple :
git config --global alias.st status
Conclusion
Git est un outil puissant pour la gestion de version, et bien que cela puisse sembler complexe au début, une fois que vous comprenez les bases, vous pouvez travailler de manière plus productive sur des projets de développement collaboratifs. L’important est de bien comprendre les concepts de commits, branches et merges pour éviter les erreurs et gérer efficacement le code.
Ce guide vous donne les bases nécessaires, mais il existe beaucoup d’autres fonctionnalités avancées que vous pouvez explorer au fur et à mesure que vous progressez avec Git.