Commande git: explication de la commande
Git est un système de contrôle de version distribué qui permet de suivre les modifications apportées à des fichiers et des répertoires au fil du temps. Il est utilisé par des développeurs de logiciels, des chercheurs, des ingénieurs et des personnes de tous horizons pour gérer leurs projets. Nous apprendrons dans cette article Toute les commandes GIT pour un AdminSys avec ces information vous pourrez même faire peur au developpeur.
Git fournit un ensemble de commandes qui permettent de gérer les modifications apportées aux fichiers. Ces commandes peuvent être utilisées pour effectuer des tâches telles que :
- Créer un nouveau dépôt Git
- Cloner un dépôt Git existant
- Ajouter des fichiers à un dépôt
- Créer des commits
- Fusionner des branches
- Comparer des modifications
- Annuler des modifications
Commandes de base
Voici quelques-unes des commandes Git les plus basiques :
- git init
Crée un nouveau dépôt Git dans le répertoire courant.
- git clone
Clone un dépôt Git distant dans le répertoire courant.
- git add
Ajoute des fichiers ou des répertoires au staging area.
- git commit
Crée un commit à partir des fichiers du staging area.
- git checkout
Bascule entre les branches.
- git merge
Fusionne les modifications d’une branche dans une autre.
Explication des commandes
git init
La commande git init
est généralement la première commande que vous exécutez lorsque vous commencez à travailler sur un nouveau projet Git. Elle crée un nouveau dépôt Git dans le répertoire courant.
Exemple:
git init
Cette commande créera un nouveau dossier appelé .git
dans le répertoire courant. Ce dossier contient les informations nécessaires pour gérer le dépôt Git.
git clone
La commande git clone
est utile pour copier un projet Git existant sur votre ordinateur. Elle clone le dépôt Git distant spécifié dans le répertoire courant.
Exemple:
git clone https://github.com/my-username/my-project.git
Cette commande clonera le projet Git my-project
situé sur GitHub dans le répertoire courant.
git add
La commande git add
ajoute des fichiers ou des répertoires au staging area. Le staging area est une zone temporaire où les fichiers sont stockés avant d’être ajoutés à un commit.
Exemple:
git add .
Cette commande ajoutera tous les fichiers du répertoire courant au staging area.
Vous pouvez également ajouter des fichiers individuels en utilisant la commande git add [nom-du-fichier]
.
git commit
La commande git commit
crée un commit à partir des fichiers du staging area. Un commit est une unité de changement qui est ajoutée à l’historique du dépôt Git.
Exemple:
git commit -m "Mon message de commit"
Cette commande créera un commit avec le message « Mon message de commit ».
git checkout
La commande git checkout
bascule entre les branches. Une branche est une version parallèle du dépôt Git.
Exemple:
git checkout master
Cette commande bascule sur la branche master
.
git merge
La commande git merge
fusionne les modifications d’une branche dans une autre.
Exemple:
git merge develop
Cette commande fusionnera les modifications de la branche develop
dans la branche courante.
Commandes avancées
Outre les commandes de base, Git fournit également un ensemble de commandes avancées qui permettent d’effectuer des tâches plus complexes. Ces commandes peuvent être utilisées pour :
- Annuler des modifications
- Comparer des modifications
- Localiser les modifications
- Gérer les étiquettes
- Gérer les stashes
Explication des commandes avancées
git reset
La commande git reset
permet d’annuler des modifications. Elle peut être utilisée pour annuler le dernier commit, plusieurs commits ou toutes les modifications.
Exemple:
git reset --soft HEAD~1
Cette commande annulera le dernier commit, mais conservera les modifications non commitées.
git reset --hard HEAD~1
Cette commande annulera le dernier commit et supprimera toutes les modifications non commitées.
git diff
La commande git diff
permet de comparer les modifications entre deux commits ou entre deux branches.
Exemple:
git diff HEAD~1
git diff
Cette commande comparera les modifications entre le dernier commit et le commit précédent.
git diff master develop
Cette commande comparera les modifications entre les branches master
et develop
.
git grep
La commande git grep
permet de rechercher un motif dans les fichiers du dépôt.
Exemple:
git grep "bug"
Cette commande recherchera toutes les occurrences du mot « bug » dans les fichiers du dépôt.
git difftool
La commande git difftool
permet de comparer les modifications entre deux commits ou entre deux branches en utilisant un outil graphique.
Exemple:
git difftool master develop
Cette commande ouvrira un outil graphique pour comparer les modifications entre les branches master
et develop
.
Voici des exemples pour les commandes Git avancées que vous avez mentionnées :
Gestion des branches
git branch
# Créer une nouvelle branche
git branch nouvelle-fonctionnalite
# Lister toutes les branches
git branch -a
# Supprimer une branche
git branch -d branche-obsolete
git fetch
# Récupérer les modifications de toutes les branches distantes
git fetch origin
# Récupérer les modifications d'une branche spécifique
git fetch origin develop
git pull
# Récupérer et fusionner les modifications de la branche distante
git pull origin main
# Récupérer et rebaser les modifications de la branche distante
git pull --rebase origin feature/login
git push
# Pousser les modifications de la branche courante
git push origin HEAD
# Pousser une nouvelle branche locale vers le dépôt distant
git push -u origin nouvelle-fonctionnalite

Gestion des étiquettes
git tag
# Créer une étiquette légère
git tag v1.0.0
# Créer une étiquette annotée
git tag -a v2.0.0 -m "Version 2.0.0 - Refonte majeure"
# Lister toutes les étiquettes
git tag -l
# Pousser une étiquette spécifique
git push origin v1.0.0
# Pousser toutes les étiquettes
git push origin --tags
Gestion des stashes
git stash
# Mettre de côté les modifications non commitées
git stash save "Travail en cours sur la page d'accueil"
# Appliquer le dernier stash et le supprimer
git stash pop
# Lister tous les stashes
git stash list
# Appliquer un stash spécifique sans le supprimer
git stash apply stash@{1}
# Supprimer un stash spécifique
git stash drop stash@{0}
# Créer une nouvelle branche à partir d'un stash
git stash branch nouvelle-branche stash@{1}
Ces exemples illustrent l’utilisation des commandes Git avancées pour la gestion des branches, des étiquettes et des stashes. Ils vous permettront de mieux organiser votre travail, de gérer efficacement les versions de votre projet et de sauvegarder temporairement vos modifications non commitées.
Commandes pour récupérer les infos distants
- git pull repo_distant master
ou
- git fetch repo_distant
- git merge master
Commandes pour voir l’historique des commits
- git log –graph –all –oneline
Voir les derniers commit avec les étiquettes l’option –graph permet d’avoir une vision sur les branches l’option –all pour voir même des commits qui ont été « repoussé » avec git reset (car rien n’est vraiment supprimé, voir conclusion) et l’option –oneline permet de ne voir que le strict nécessaire sur le commits
- git reflog
Permet de voir tous les commits effectuer même effacer avec un rebase
Conclusion
Git est un système de contrôle de version puissant qui offre un large éventail de fonctionnalités. En comprenant les commandes de base et avancées, vous pouvez utiliser Git pour gérer vos projets de manière efficace. Il faut comprendre une chose sur git, c’est que rien ne s’efface, vous pouvez faire un rebase si vous fait un git log –all on reverra le commit (apparemment supprimer) on peu même passer aller plus loin et voir encore les détails de chaque commit avec git reflog.