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.
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
.
Commandes avancées pour la gestion des branches
- git branch
Crée une nouvelle branche ou liste les branches existantes.
- git fetch
Récupère les modifications des branches distantes.
- git pull
Récupère les modifications des branches distantes et les fusionne dans la branche courante.
- git pull est la contraction de la commande git fetch + git merge
Récupère les modifications des branches distantes et les fusionne dans la branche courante.
- git push
Envoie les modifications des branches locales vers les branches distantes.
Commandes avancées pour la gestion des étiquettes
- git tag
Crée une étiquette sur un commit spécifique.
- git tag -a
Crée une étiquette annotée sur un commit spécifique.
- git tag -l
Liste toutes les étiquettes.
- git push origin tag-name
- git push branch —tags
Envoie l’étiquette tag-name
vers le repository distant.
Commandes avancées pour la gestion des stashes
- git stash
Met de côté les modifications non commitées.
- git stash pop
Restaure les modifications mises de côté les plus récentes.
- git stash list
Liste toutes les stashes.
- git stash drop
Supprime une stash.
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.