cours
Les 20 meilleures commandes Git avec des exemples : Guide pratique
Git est un outil essentiel pour toute personne travaillant avec du code, qu'il s'agisse d'un développeur de logiciels, d'un scientifique des données, d'un ingénieur des données ou d'un praticien de l'apprentissage automatique. Il permet aux équipes de collaborer simultanément sur le même projet tout en fournissant un historique clair des modifications du code, ce qui facilite le cursus et la gestion des mises à jour.
Dans cet article, je vais vous présenter les commandes Git les plus couramment utilisées, leur syntaxe, et comment les appliquer dans votre travail quotidien !
Commandes de base de Git
Les étapes de base du travail avec Git comprennent la création d'un dépôt, la copie d'un dépôt existant et l'édition du code. Cette section abordees fonctions fondamentales de git en détail, ainsi quela syntaxe pour les mettre en œuvre .
Besoin d'installer Git ? Suivez ce guide pour installer Git sur votre système.
git init
La commande git init
crée un nouveau dépôt Git ou réinitialise un dépôt existant.
Lorsque vous exécutez la commande, votre répertoire actuel devient un dépôt Git, ce qui vous permet de suivre ses modifications. Il ajoute un dossier caché .git
dans le répertoire, où Git stocke toutes les métadonnées, l'historique des versions et les journaux relatifs au projet.
git clone
Pour copier un dépôt Git d'un endroit à un autre, nous utilisons la commande git clone
. Il copie généralement un dépôt existant, y compris les journaux et les versions, depuis des serveurs distants tels que GitHub ou GitLab vers votre machine locale.
Étape 1 : Naviguez jusqu'au dépôt GitHub que vous souhaitez cloner et cliquez sur "Code".
commande git clone
Étape 2 : Copiez l'URL comme indiqué dans l'image.
commande de base git clone
Étape 3 : Allez dans le répertoire où vous voulez cloner ce dépôt sur la machine locale et exécutez la commande suivante :
git clone <copied_URL>
git status
La commande git status
nous donne des détails sur :
- les fichiers modifiés (fichiers modifiés mais non mis en scène).
- les fichiers non suivis (fichiers dont Git n'assure pas le cursus).
- les fichiers mis à disposition (fichiers mis à disposition et prêts à être livrés).
Voici la syntaxe :
git status
Commande Git status
git add
La commande git add
ajoute vos modifications à la zone de transit. Elle indique à Git que le référentiel doit mettre à jour ces modifications une fois que l'utilisateur exécute la commande "commit".
git add .
: met en scène les modifications apportées à tous les fichiers.git add
Le fichier d'étape : inclut uniquement les modifications apportées à un fichier spécifique dans la zone d'étape.
git commit
Une commande git commit
enregistre les modifications que vous avez effectuées (ou mises en scène) dans le référentiel local. Chaque fois que vous exécutez git commit
, Git crée un instantané de votre dépôt à ce moment-là. Cela vous permet de revenir à un commit précédent lorsque cela est nécessaire.
Voici la syntaxe :
git commit -m "commit_message"
Le message de livraison est une brève description des modifications apportées lors d'une livraison.
Apprenez les bases de Git dès aujourd'hui
Travailler avec des référentiels distants
GitHub héberge diverses applications sur ses serveurs distants, ce qui permet aux développeurs de les suivre et de les gérer. Dans cette section, nous verrons comment extraire, transférer et interagir avec ces dépôts distants à l'aide de commandes Git.
Vous voulez savoir comment fonctionne GitHub ? Commencez par une introduction aux concepts de GitHub pour comprendre les dépôts, les demandes d'extraction et les meilleures pratiques de collaboration.
git remote add
La commande git remote add
crée une connexion entre votre dépôt Git local et le dépôt Git distant, ce qui vous permet de pousser et de tirer des modifications entre les deux :
git remote add <repo_name> <remote_url>
: un surnom pour le dépôt distant ("origin" par défaut).
URL du référentiel distant.
git push
La commande git push
synchronise votre dépôt distant avec le dépôt local. Une fois que vous aurez exécuté cette commande, le référentiel distant reflétera toutes les modifications que vous avez effectuées localement.
git push <remote> <branch>
alias du référentiel distant ("origin" par défaut).
: nom de la branche que vous voulez pousser.
Il existe quelques variantes de git push
, par exemple :
git push ---all origin
La commande ci-dessus pousse toutes vos branches locales vers le dépôt distant.
git push --force origin main
La commande ci-dessus écrase la branche main
du référentiel distant par votre branche locale main
. Soyez prudent lorsque vous l'utilisez, car la branche principale distante peut perdre tout son historique.
git pull
La commande git pull
récupère et fusionne les modifications du référentiel distant avec celles du référentiel local.
La commande git pull
combine deux commandes : git fetch
et git merge
.
Tout d'abord, git fetch
récupère toutes les modifications du dépôt distant, y compris les nouveaux commits, les étiquettes et les branches. Ensuite, git merge
s'exécute et intègre ces modifications à la branche locale actuelle.
Voici la syntaxe :
git pull origin feature-branch
La commande ci-dessus récupère les données de feature_branch
sur le dépôt distant et les transfère dans votre branche locale actuelle.
git fetch
La commande git fetch
vous permet d'examiner les changements dans le référentiel distant avant de les fusionner dans votre référentiel local. Il télécharge les modifications et les met à jour dans les branches de suivi à distance. Pour ceux qui ne connaissent pas, les branches de suivi à distance sont des copies des branches du référentiel à distance.
Par exemple, la commande suivante télécharge les modifications dans le référentiel distant et les met à jour dans les branches de suivi à distance sous origin
:
git fetch origin
Branchement et fusion dans Git
Les branches Git permettent aux développeurs de travailler indépendamment sur de nouvelles fonctionnalités ou des corrections de bogues sans affecter le dépôt principal. Une fois que les modifications sont prêtes, la fusion les intègre dans la base de code principale. Examinons les principales commandes impliquées dans ce processus.
branche git
La commande git branch
permet de répertorier, de créer ou de supprimer des branches. Une branche est une autre version de votre référentiel.
Si vous développez une nouvelle fonctionnalité pour votre application, vous pouvez créer une nouvelle branche et y travailler. Vous pouvez tout fusionner dans la branche principale une fois que tout est prêt et testé. Cela vous permet de travailler sur de nouvelles fonctionnalités de manière indépendante sans avoir à intervenir directement sur la ligne principale.
git branch
: produit la liste de toutes les branches du référentiel.git branch
: crée une nouvelle branche nommée "nom_de_la_branche".git branch -d
: Supprime la branche nommée "nom_branche".
git checkout
Lacommande git checkoutpermet de faire deux choses : passer d'une branche à l'autre ou restaurer des fichiers dans un état antérieur.
- Changez de branche : Avant git 2.23, la commande
git checkout branch_name
était utilisée pour passer de votre branche actuelle à une autre. Mais il ne s'agit pas seulement de passer d'une branche à l'autre ; vous pouvez également créer une nouvelle branche et y passer.
La commande suivante crée une nouvelle branche nommée "feature_branch" et y bascule :
git checkout -b feature_branch
Cependant, dans la dernière version de Git, git checkout
est remplacé par git switch
pour restaurer les fichiers.
- Restaurer des fichiers : Vous pouvez annuler les modifications que vous avez apportées à un fichier et le restaurer à sa version précédente à l'aide de la commande suivante.
git checkout -- <file-name>
Vous pouvez également le faire avec un fichier provenant d'une autre branche comme suit :
git checkout <branch-name> -- <file-name>
git merge
Si vous avez travaillé sur une nouvelle branche, vous pouvez la fusionner avec la branche principale en utilisant git merge
pour implémenter les changements. Git effectue des fusions de deux manières :
- Fusion rapide : Supposons que vous ayez créé une nouvelle branche nommée "feature_x" à partir de la branche principale et que vous ayez travaillé dessus. Si la branche principale n'a pas été mise à jour depuis que vous avez créé "feature_x", alors au lieu de livrer les modifications de "feature_x" à la branche principale, Git met à jour la branche principale pour qu'elle pointe vers la dernière version de "feature_x". Dans ce cas, aucun nouveau commit de fusion n'est créé.
- Fusion à trois : Si la branche "feature_x" et la branche principale ont toutes deux des modifications, Git combine les modifications et crée un nouveau commit de fusion sur la branche principale.
Par exemple :
C---D---F (feature-branch)
/
A---B---E---G (main)
Au commit B
, la branche de fonctionnalités C
est créée. La branche principale a des commits supplémentaires, E
et G
, même après la création de la branche de fonctionnalité. Par conséquent, la fonctionnalité est fusionnée avec la fonctionnalité principale, en créant un nouveau commit de fusion M
comme suit :
C---D---F (feature-branch)
/ \
A---B---E---G---M (main)
git rebase
git rebase
est un autre moyen d'intégrer les changements entre les branches, mais il fonctionne différemment de git merge
. La fusion conserve l'historique complet des branches principale et secondaire. Le rebasement, quant à lui, écrase l'historique des livraisons pour le rendre linéaire et propre.
En outre, la fusion nécessite un commit de fusion supplémentaire, tandis que la refonte ne crée pas de nouveaux commits. Git rebase effectue deux étapes :
- Passer à une branche de fonctionnalités
- Replacer dans la base principale.
Par exemple :
C---D---F (feature-branch)
/
A---B---E---G (main)
- Étape 1 : exécute
git checkout feature_branch
. - Étape 2 : Exécute
git rebase main
: Déplacement de l'ensemble de la branche des fonctionnalités sur la branche principale en réappliquant les commitsC
,D
,F
commeC’
,D’
, etF’
au dessus du dernier commitG
sur la branche principale. Cela crée un historique linéaire des livraisons comme suit :
A---B---E---G---C'---D'---F' (main)
Les opérations de fusion et de rebase étant souventconfondues, voici un résumé des différences :
Merge |
Rebase |
Il conserve l'intégralité de l'historique des livraisons des deux branches. |
Il écrase l'historique des livraisons pour le rendre linéaire. |
Un commit de fusion supplémentaire est créé. |
Aucun commentaire supplémentaire n'est créé. |
La structure de la branche est visible dans l'historique. |
Cela donne l'impression que l'historique des livraisons est une ligne droite. |
Utilisez-le pour suivre l'historique des livraisons de chaque branche, y compris une chronologie des dates de fusion. |
Utilisez-le lorsque vous avez besoin d'un historique des livraisons clair et facile à comprendre. |
Vous souhaitez en savoir plus sur le travail avec des succursales à distance ? Découvrez comment extraire et suivre des branches distantes à l'aide de git checkout
dans ce didacticiel étape par étape.
Historique Git et annulation des modifications
Git propose plusieurs commandes permettant de consulter l'historique et d'annuler les modifications à différents stades du développement. Les commandes correspondantes sont présentées ici.
git log
La commande git log
affiche l'ensemble de l'historique des livraisons de votre branche actuelle. Il comprend quatre champs clés : le commit, l'auteur, la date et le message de commit.
Historique des livraisons git
- Engagement : un identifiant unique.
- Auteur : nom et adresse électronique de la personne.
- Date : Date à laquelle la modification a été validée.
- Message d'engagement : description de l'engagement.
git diff
Le site git diff
affiche les différences entre les différents états de votre référentiel, que vous compariez votre répertoire actuel à la zone de transit, la zone de transit au dernier commit, ou même deux fichiers ou branches, selon ce que vous aurez spécifié.
git diff
- montre la différence entre votre répertoire de travail actuel et la zone de transit.git diff -- cached
Le tableau suivant montre les différences entre la zone de transit et la dernière livraison.git diff commit1 commit2
- la différence entrecommit 1
etcommit 2
.git diff branch1..branch2
- compare les différences entrebranch 1
etbranch 2
.
git reset
La commande git reset vous permet d'annuler des modifications en réinitialisant le HEAD actuel à un état antérieur spécifique. Pour déplacer le HEAD à un commit précédent, vous disposez de trois variantes : "soft", "mixed" et "hard" à utiliser avec la commande reset.
- Soft: revient à un commit précédent mais conserve les modifications en cours, ce qui vous permet de les re-commander plus tard si nécessaire.
git reset --soft HEAD~1
- Mixte : revient à un commit précédent et supprime les modifications du commit actuel de la zone de la scène. Toutefois, ces modifications ne sont pas affectées dans votre répertoire de travail.
git reset --mixed HEAD~1
- Dur : Cela renverra à un commit précédent tout en supprimant les mises à jour du commit actuel du répertoire de travail et de la zone de transit.
git reset --hard HEAD~1
Vous souhaitez annuler des modifications dans Git ? Découvrez les différences entre git reset
et git revert
dans ce guide détaillé.
Mise en réserve et nettoyage de Git
Lorsque vous travaillez avec Git, vous pouvez avoir besoin de mettre temporairement de côté des modifications sans les valider ou de nettoyer des fichiers inutiles qui encombrent votre dépôt. C'est là que les commandes de rangement et de nettoyage de Git s'avèrent utiles.
git stash
Supposons que vous souhaitiez passer à un état antérieur mais que vous ne souhaitiez pas valider votre progression actuelle ; vous pouvez utiliser git stash
. Cela permet d'enregistrer temporairement vos modifications non validées et de réinitialiser votre répertoire de travail au dernier état validé.
git stash pop
Si vous avez caché des modifications dans le passé et que vous souhaitez les inclure dans votre répertoire de travail, utilisez la commande git stash pop
. Cette opération permet d'appliquer les dernières modifications cachées au répertoire actuel et de les supprimer de la liste des modifications cachées.
git clean
La commande git clean
supprime les fichiers non suivis du dépôt Git. Utilisez la commande git clean -n
pour avoir un aperçu de ce qui sera supprimé avant d'exécuter la commande clear !
Vous souhaitez nettoyer votre historique Git ? Apprenez à combiner plusieurs commits dansen un seul avec ce tutoriel Git squash.
Configuration de Git et paramètres utilisateur
Git vous permet de configurer les paramètres de l'utilisateur à différents niveaux. Explorons-les ici.
git config
La commande git config
vous permet de personnaliser les paramètres de Git en fonction de vos besoins. Vous pouvez configurer les paramètres à trois niveaux : local, système et global.
- Au niveau du système : Il s'agit du niveau de configuration le plus large, avec un accès au niveau racine.
- Niveau global : les configurations à ce niveau sont appliquées à tous les référentiels de l'utilisateur courant.
- Au niveau local : Les paramètres relatifs au dépôt Git actuel peuvent être personnalisés à ce niveau.
Voici quelques commandes courantes sur git config
:
git config -list
: Affiche les paramètres de Git de tous les niveaux.git config --global user.name "Your_name"
: Définit le nom d'utilisateur Git pour tous les dépôts sur votre système à "Votre_nom".git config --global user.email "your.email@example.com"
: Définit l'adresse électronique pour tous les dépôts de votre système.
Nous savons que master est la branche principale par défaut lors de l'initialisation d'un dépôt Git. Mais vous pouvez le renommer comme vous le souhaitez à l'aide de la commande suivante :
git config --global init.defaultBranch "srujana_master"
Dans la commande ci-dessus, nous avons remplacé la branche master par défaut par "srujana_master" au niveau global (pour tous les dépôts du système).
Vous pouvez appliquer d'autres paramètres au niveau global. Par exemple, pour remplacer votre éditeur de texte par défaut par VS code, exécutez la commande suivante :
git config -global core.editor "code-w"
Vous pouvez également créer vos propres commandes Git. Par exemple :
git config --global alias.slice branch
La commande ci-dessus crée un nouvel alias slice
pour branch. Ainsi, si vous souhaitez créer une nouvelle branche, vous pouvez exécuter git slice branch_name
au lieu de git branch branch_name
.
Résumé des commandes Git
Voici un résumé des commandes Git que nous avons étudiées, que vous pourrez garder à portée de main :
Commandement |
Description |
Exemple d'utilisation |
|
Initialiser un nouveau dépôt Git. |
|
|
Cloner un dépôt Git existant. |
|
|
Vérifier l'état des fichiers dans le répertoire de travail. |
|
|
Ajoutez des fichiers à la zone de transit. |
|
|
Livrer les modifications à l'étape dans le dépôt local. |
|
|
Ajoutez une connexion au dépôt à distance. |
|
|
Transférer les modifications effectuées vers un référentiel distant. |
|
|
Récupérez et fusionnez les modifications d'un référentiel distant. |
|
|
Récupérer les modifications d'un dépôt distant sans les fusionner. |
|
|
Listez, créez ou supprimez des branches. |
|
|
Passer d'une branche à l'autre ou restaurer des fichiers (ancienne méthode). |
|
|
Passer d'une branche à l'autre (préférable dans les versions les plus récentes). |
|
|
Fusionner les modifications d'une branche dans une autre. |
|
|
Réappliquez les commits d'une branche à une autre pour un historique plus propre. |
|
|
Voir l'historique des livraisons. |
|
|
Montrez les différences entre les divers états du référentiel. |
|
|
Annulez les modifications en rétablissant l'état antérieur de HEAD. |
|
|
Enregistre temporairement les modifications non validées et réinitialise le répertoire de travail. |
|
|
Appliquez les dernières modifications cachées au répertoire de travail. |
|
|
Supprimez les fichiers non suivis du référentiel. |
|
|
Configurez les paramètres de Git au niveau du système, au niveau global ou au niveau local. |
|
Bonnes pratiques pour l'utilisation de Git
L'utilisation efficace de Git ne se limite pas au cursus des modifications : il s'agit de maintenir un flux de travail propre, structuré et collaboratif. Le respect des bonnes pratiques permet de s'assurer que votre dépôt reste organisé, que l'historique des livraisons est significatif et que votre processus de développement se déroule sans heurts.
Voici quelques habitudes à prendre lorsque vous travaillez avec Git :
- Engagez-vous souvent : L'un des principaux objectifs de l'utilisation d'un système de contrôle de version tel que Git est d'assurer un suivi efficace des modifications au fil du temps. Lorsque vous livrez chaque changement séparément plutôt que de mettre à jour plusieurs changements ensemble, il est plus facile de comprendre ce qui a été modifié dans chaque livraison par la suite.
- Engagez-vous avec des messages clairs : Chaque fois que vous vous engagez, accompagnez-le d'un message clair décrivant l'objet de cet engagement. La prochaine fois que vous ferez le suivi des livraisons, il sera beaucoup plus simple de savoir quelles modifications chaque livraison a apportées au code.
- Utilisez des branches : Pour toute nouvelle fonctionnalité ou correction de bogue, créez une branche, travaillez dessus et fusionnez-la. Il s'agit de la meilleure pratique pour séparer les nouveaux travaux de développement du projet principal.
- Utilisez .gitignore : Un fichier .gitignore contientains les fichiers et répertoires liés au projet dont le cursus n'est pas nécessaire. Il s'agit généralement de fichiers générés automatiquement, d'artefacts de construction, de fichiers journaux, de fichiers temporaires et de fichiers spécifiques à la plate-forme. En les ignorant, vous éviterez les journaux inutiles et les versions de cursus, ce qui vous permettra de conserver un historique propre.
Conclusion
Git est un outil puissant qui permet de suivre les modifications, de collaborer avec d'autres personnes et de maintenir un flux de développement bien structuré. Dans cet article, j'ai abordé les commandes Git essentielles et les meilleures pratiques pour vous aider à gérer vos projets plus efficacement.
Bien sûr, il y a toujours plus à apprendre ! Si vous commencez à peine, consultez Introduction à Git pour acquérir des bases solides. Pour ceux qui souhaitent affiner leurs compétences, la version intermédiaire de Git permet d'approfondir les flux de travail et les techniques avancés.
Vous avez besoin d'une référence Git rapide pour vos futurs projets ? Gardez les commandes essentielles à portée de main grâce à cet aide-mémoire Git!
Apprenez les bases de Git dès aujourd'hui
FAQ
Quelle est la différence entre git pull et git fetch ?
git pull
récupère les modifications d'un dépôt distant et les fusionne dans votre branche locale, tandis que git fetch
ne télécharge que les mises à jour, ce qui vous permet de les passer en revue avant de les fusionner.
Comment renommer une branche Git ?
Pour renommer la branche actuelle :
git branch -m new-branch-name
Si vous renommez une autre branche :
git branch -m old-branch-name new-branch-name
Comment supprimer une branche dans Git ?
Pour supprimer une branche locale :
git branch -d branch-name
Pour supprimer une branche distante :
git push origin --delete branch-name
Quelle est la différence entre git merge et git rebase ?
git merge
combine les modifications de différentes branches tout en préservant l'historique, tandis que git rebase
réécrit l'historique des livraisons pour créer une séquence linéaire plus propre.
Puis-je annuler un commit git ?
Oui ! Pour annuler la dernière livraison mais conserver les modifications dans la zone de transit :
git reset --soft HEAD~1
Pour annuler la dernière livraison et supprimer les modifications de la phase d'essai :
git reset --mixed HEAD~1
Pour rejeter complètement les changements :
git reset --hard HEAD~1
Comment vérifier sur quelle branche je me trouve actuellement ?
Exécutez :
git branch --show-current
Ou simplement :
git status
Comment annuler les modifications apportées à un seul fichier ?
Pour ignorer les modifications non gérées d'un fichier :
git checkout -- filename
Pour ramener un fichier à son dernier état de livraison :
git restore filename
Comment lister toutes les branches distantes d'un dépôt Git ?
Utiliser :
git branch -r
Comment forcer une branche à être poussée dans Git ?
Soyez prudent lorsque vous forcez une poussée, car elle écrase les modifications effectuées à distance :
git push --force origin branch-name
Comment afficher un historique graphique de mes modifications Git ?
Si vous souhaitez obtenir une visualisation graphique de l'historique de vos livraisons :
git log --oneline --graph --all --decorate
Srujana est rédactrice technique indépendante et titulaire d'un diplôme de quatre ans en informatique. Écrire sur divers sujets, notamment la science des données, l'informatique en nuage, le développement, la programmation, la sécurité et bien d'autres encore, est pour elle une évidence. Elle aime la littérature classique et la découverte de nouvelles destinations.
Apprenez-en plus sur Git avec ces cours !
cours
Introduction aux concepts de GitHub
cursus
Fondements de GitHub
blog
Les 20 meilleures questions d'entretien pour les flocons de neige, à tous les niveaux

Nisha Arya Ahmed
20 min
blog
Q2 2023 DataCamp Donates Digest
blog
2022-2023 Rapport annuel DataCamp Classrooms
blog
Célébration de Saghar Hazinyar : Une boursière de DataCamp Donates et une diplômée de Code to Inspire

Fereshteh Forough
4 min
blog