Logo

GitMaster

Découvrir les commandes GitHub

Plateforme pour apprendre Git et GitHub sans la complexité du terminal.

git init

Initialise un nouveau dépôt Git local dans le répertoire courant. Crée le sous-dossier .git.

Git Init Image

git clone [url]

Copie un dépôt Git distant (ex: GitHub) vers votre machine locale. Télécharge le projet et son historique.

Git Clone Image

git add .

Ajoute les fichiers modifiés à la zone de préparation (staging area), les préparant pour le commit suivant.

Git Add Image

git status

Affiche l'état de votre dépôt : les fichiers modifiés, ceux en attente de commit, et les nouveaux fichiers non suivis.

Git Status Image

git commit -m "[message]"

Enregistre un instantané de votre projet. Les fichiers de la zone de préparation sont stockés dans le dépôt local.

Git Commit Image

git push [remote] [branche]

Envoie vos commits locaux vers un dépôt distant. Synchronise votre travail avec celui de votre équipe.

Git Push Image

git pull [remote] [branche]

Récupère les modifications du dépôt distant et les fusionne automatiquement dans votre branche locale.

Git Pull Image

git branch

Affiche la liste de toutes les branches du dépôt. Permet de voir la branche active.

Git Branch Image

git checkout [nom-branche]

Change de branche. Met à jour les fichiers de votre répertoire de travail pour correspondre à la nouvelle branche.

Git Checkout Image

git merge [branche]

Intègre les modifications d'une branche spécifiée dans la branche sur laquelle vous êtes actuellement.

Git Merge Image

git log

Affiche l'historique complet des commits de la branche actuelle. Montre qui, quoi et quand les changements ont été faits.

Git Log Image

git reset [commit]

Réinitialise la branche actuelle à un commit spécifique. Peut modifier l'historique des commits.

Git Reset Image

git diff

Affiche les modifications qui ne sont pas encore dans la zone de préparation (staging area).

Git Diff Image

git rebase [nom-branche]

Intègre les modifications d'une branche dans une autre en rejouant les commits, pour un historique propre.

Git Rebase Image

git stash

Met de côté temporairement les modifications non validées pour pouvoir changer de branche rapidement.

Git Stash Image

git tag [nom-tag]

Crée une étiquette pour marquer des points importants dans l'historique du projet, comme une nouvelle version.

Git Tag Image

git revert [hash-commit]

Annule les modifications d'un commit en créant un nouveau commit, sans modifier l'historique.

Git Revert Image

git config

Permet de configurer l'identité de l'utilisateur et d'autres paramètres pour le dépôt ou de manière globale.

Git Config Image

git checkout -b [nom-nouvelle-branche]

Crée et passe immédiatement à une nouvelle branche.

Git Checkout b Image

git remote -v

Affiche la liste des dépôts distants configurés avec leurs URL.

Git Remote Image

git fetch [remote]

Télécharge les dernières modifications d'un dépôt distant, sans les intégrer à votre branche locale.

Git Fetch Image

Les commandes sont regroupées par référence et par fonction.

Cette section présente une liste des commandes Git et GitHub les plus utilisées, classées par catégories. Chaque catégorie inclut des commandes spécifiques accompagnées de descriptions et d'exemples pratiques. Vous pouvez cliquer sur une commande pour obtenir plus de détails.

INITIALISATION DE GIT

Que vous soyez sur Windows, MacOS ou encore Linux, vous pouvez télécharger Git depuis le site officiel en choisissant la méthode adaptée à votre OS et à vos envies (ligne de commande, fichier binaire…).

Une fois l'installation terminée, vérifiez que Git est bien opérationnel sur votre machine en ouvrant un terminal et en tapant la commande suivante

image de la commande de vérification

CONFIGURATION DE GIT

Avant de commencer à utiliser Git, il est important de configurer votre identité. Cela permet d'associer vos commits à votre nom et adresse e-mail.

Configurer votre nom d'utilisateur et votre adresse e-mail :


git config --global user.name "Votre Nom"
git config --global user.email "votre.email@example.com"
                    
image de la commande de vérification

VÉRIFICATION DE LA CONFIGURATION

Pour vérifier que votre configuration a été correctement appliquée, utilisez la commande suivante :

Vérifier la configuration actuelle :


git config --list
                    

Ce qu'il faut savoir sur la structure d'un dépôt Git

Un dépôt Git se compose de plusieurs éléments clés :

  • Le code source contenant le projet
  • Un dossier caché nommé 📂 .git présent à la racine du répertoire d'un projet, dans lequel Git enregistre l'historique des modifications du projet. Il agit comme une base de données qui stocke toutes les versions passées et présentes des fichiers du projet. Cela permet de suivre l'évolution du projet au fil du temps, de revenir à des versions antérieures si nécessaire et de collaborer avec d'autres développeurs.
  • Pour bien cerner la notion de dépôt Git, il est important de distinguer 2 types de dépôts : les dépôts locaux et le dépôt distant.

    Dépôt Local

  • Un dépôt local est le dépôt Git qui se trouve sur votre machine. C'est là que vous effectuez vos modifications, vos commits et vos tests avant de les envoyer vers un dépôt distant. c'est un espace de travail où vous pouvez développer votre projet en toute liberté, sans affecter les autres développeurs.
  • Dépôt Distant

  • Un dépôt distant est un dépôt Git qui est hébergé sur un serveur;par exemple (GitHub, GitLab, Bitbucket). C'est là que vous partagez votre code avec d'autres développeurs, la sauvegarde du code source garder un historique des modifications et où vous pouvez collaborer sur des projets.
image de la structure d'un dépôt Git

INITIALISATION D'UN DÉPÔT GIT non versionné

Pour initialiser un nouveau dépôt Git dans un répertoire existant, utilisez la commande suivante :

Initialiser un dépôt Git :


git init
                

Cette commande crée un nouveau sous-répertoire nommé .git dans le répertoire actuel, qui contient tous les fichiers nécessaires à la gestion du dépôt Git. Vous pouvez ensuite commencer à ajouter des fichiers et à effectuer des commits.

image de la structure d'un dépôt Git
git add .

PREPARATION DES MODIFICATIONS


git add . ou git add "nom_du_fichier" ou git add *
                

Cette commande git add .permet de préparer toutes les modifications du répertoire courant et de ses sous-répertoires pour le prochain commit. C'est une commande fondamentale du workflow Git, servant de passerelle entre votre répertoire de travail et la zone de préparation.

Comprendre le workflow Git

Pour bien comprendre l'objectif de git add; il est utile de comprendre les trois principaux états d'un projet Git:

  • Répertoire de travail: c'est ici que vous modifiez vos fichiers. Il contient les fichiers en cours de modification.
  • Zone de préparation (ou index): Il s'agit d'une solution intermédiaire où vous préparez un instantané de vos modifications avant de les valider. Considérez-la comme une zone de stockage temporaire où vous sélectionnez les modifications spécifiques à inclure dans votre prochain commit.
  • Référentiel Git (Historique): c'est ici que Git stocke vos commits, qui sont des instantanés permanents de votre projet.

Comment ça git add . marche

Lorsque vous modifiez, ajoutez ou supprimez des fichiers dans votre répertoire de travail, Git considère ces modifications comme « non suivies » ou « non mises en scène ».

La git add . commande effectue les opérations suivantes:

Il indique à Git de regarder tous les fichiers nouveaux et modifiés dans votre répertoire actuel et tous les sous-répertoires.

Il déplace ensuite ces modifications du répertoire de travail vers la zone de préparation.

Cela signifie que toutes les modifications que vous avez apportées sont désormais « préparées », prêtes à être enregistrées sous forme d'instantané unique et cohérent lors de l'exécution de la git commit commande.

image de la structure d'un dépôt Git

ÉTAT ET MODIFICATIONS

Pour vérifier l'état de votre dépôt Git et voir les modifications apportées, utilisez la commande suivante :

Vérifier l'état du dépôt :


git status
                    

MODIFICATIONS

Pour voir les modifications apportées à votre dépôt, utilisez la commande suivante :

Afficher les modifications :


git diff
                    

CREER UN COMMIT

Utilise l'impératif : "Ajouter", "Corriger", "Mettre à jour", etc.

Valider les modifications dans le dépôt :


git commit -m "Votre message de commit"
                    

La commande git commit est l'une des plus fondamentales dans Git. Elle permet d'enregistrer de façon permanente un instantané (snapshot) de l'état de ton projet à un moment donné dans l'historique du dépôt.
🔹 Un commit n'est pas simplement une liste de modifications (comme dans certains anciens systèmes de version),
🔹 C'est un point de sauvegarde complet de tous les fichiers suivis à cet instant.

image git commit

STRUCTURE INTERNE D'UN COMMIT

Chaque commit est identifié par un hash SHA-1 (ex: a1b2c3d...) et contient :

Un commit contient: le hash, le message, l'auteur, la date, l'instantané des fichiers et la référence au commit parent.


                    

Un arbre (tree) : référence à la structure des fichiers à cet instant.
Des parents : référence au(x) commit(s) précédent(s) (1 pour un commit normal, 2 pour un merge).
Un auteur : qui a créé les modifications.
Un committer : qui a effectué le commit (souvent la même personne).
Un message : description du changement.
Une date : timestamp de création.

GESTION DES BRANCHES

Pour afficher la liste des branches dans votre dépôt Git, utilisez la commande suivante :

Un pointeur léger et nommé vers un commit spécifique est:


git branch
                    

La commande git branch permet de lister, créer ou supprimer des branches dans votre dépôt.
🔹 Les branches sont des pointeurs vers des commits spécifiques.
🔹 La branche active est celle sur laquelle vous travaillez actuellement.

CHANGER DE BRANCHE

Pour changer de branche, utilisez la commande suivante :

La commande à utiliser pour naviguer rapidement entre les branches existantes et vous positionner sur celle sur laquelle vous souhaitez travailler est :


git checkout nom-de-la-branche
                    

Listez les branches disponibles avec git branch.


git branch 
                    
Identifiez le nom de la branche vers laquelle vous souhaitez basculer.
Utilisez la commande git checkout nom-de-la-branche pour passer sur cette branche.

RENOMMER UNE BRANCHE

Pour renommer une branche dans Git, utilisez la commande suivante :

Renommer une branche ne change pas sa position dans l'historique : elle reste un pointeur vers le même commit, seul son nom est mis à jour:


git branch -m "nouveau-nom"
                    

La commande git branch -m permet de renommer la branche active.
🔹 Si vous êtes sur la branche à renommer, il suffit de spécifier le nouveau nom.
🔹 Pour renommer une branche inactive : git branch -m "ancien-nom" "nouveau-nom".

SUPPRIMER UNE BRANCHE

Pour supprimer une branche locale dans Git, utilisez la commande suivante :

Supprimer une branche revient à supprimer un pointeur vers un historique de commits. Le contenu n'est perdu que si aucun autre pointeur (branche ou tag) ne le référence.


git branch -d "nom-de-la-branche"
                    

La commande git branch -d permet de supprimer une branche locale.
🔹 Le -d signifie delete (supprimer).
🔹 Git refuse par défaut de supprimer une branche non fusionnée pour éviter une perte de données.


git branch -D "nom-branche"
                    

Utilisez -D (en majuscule) pour forcer la suppression même si la branche n'a pas été fusionnée.
⚠️ Attention : cette action peut entraîner la perte de commits non fusionnés.

💡 Astuce : Avant de supprimer une branche, assurez-vous qu'elle a bien été fusionnée dans main ou dev pour ne rien perdre.

FUSIONNER DES BRANCHES

La fusion de branches (merge) permet d'intégrer les modifications d'une branche dans une autre, par exemple pour ajouter une fonctionnalité terminée à la branche de développement ou de production.

La fusion consiste à combiner les modifications de deux branches. Le résultat est un commit de fusion (merge commit) qui intègre l'historique des deux branches.


git merge "nom-de-la-branche"
                    

Cette commande fusionne la branche spécifiée dans la branche active.
🔹 Avant de fusionner, basculez toujours sur la branche cible (celle qui reçoit les modifications).
🔹 Exemple : pour intégrer feature/login dans dev, faites : git checkout dev puis git merge feature/login.

🔹 Fusion automatique (fast-forward ou simple merge)

Si les branches n'ont pas de modifications conflictuelles, Git crée automatiquement un commit de fusion.

Exemple :

git checkout dev
git merge feature/profil
                    

Git combine les commits et met à jour la branche dev.

⚠️ Résolution de conflits

Si les deux branches ont modifié la même partie d'un fichier, Git ne peut pas fusionner automatiquement. Un conflit survient.

Git marque les zones en conflit dans le fichier :

À vous de modifier le fichier pour résoudre le conflit, puis valider avec :

git add 
git commit
                    

💡 Astuce : Testez toujours votre code après une fusion, même sans conflit, pour éviter les régressions.

CLONER UN DÉPÔT

Pour copier un dépôt Git distant (par exemple depuis GitHub) vers votre machine locale, utilisez la commande suivante :

Le clonage crée une copie complète du dépôt, incluant tous les fichiers, l'historique de commits, et les branches. La branche active par défaut est généralement main.


git clone "url-du-depot"
                    

🔹 Changer de branche après le clonage

Après le clonage, vous êtes sur la branche principale (main ou master). Pour travailler sur une autre branche (ex: dev) :


git checkout dev
                    

Git détecte automatiquement la branche distante origin/dev et configure le suivi local.

⚠️ Bonnes pratiques

✅ Toujours cloner un dépôt avant de commencer un projet existant.
✅ Vérifiez que vous avez les droits d'accès si le dépôt est privé.
✅ Utilisez git fetch régulièrement pour rester à jour avec les modifications distantes.

TRAVAIL COLLABORATIF

Git et GitHub permettent une collaboration fluide entre plusieurs développeurs sur un même projet, grâce à l'utilisation des branches, des commits partagés et de la synchronisation avec un dépôt distant.

Le travail collaboratif repose sur la synchronisation entre les dépôts locaux des développeurs et un dépôt distant (sur GitHub). Chaque membre de l'équipe peut travailler sur sa branche, puis partager ses modifications via push et pull.


git pull origin "nom-de-la-branche"
                    

La commande git push permet d'envoyer vos commits locaux vers le dépôt distant.
Si la branche n'existe pas encore sur GitHub, Git la crée automatiquement.
Exemple : git push origin feature/profil.

Workflow collaboratif typique

  1. Cloner le dépôt : git clone https://github.com/organisation/projet.git
  2. Créer une branche dédiée : git checkout -b feature/nouveau-bouton
  3. Travailler, commit, commit : git add . puis git commit -m "Ajout bouton"
  4. Pousser sa branche : git push origin feature/nouveau-bouton
  5. Ouvrir une Pull Request (PR) sur GitHub pour demander la fusion dans dev ou main
  6. Revue de code par les autres membres de l'équipe
  7. Fusion après validation

⚠️ Bonnes pratiques

Utilisez des branches dédiées pour chaque fonctionnalité ou correction.
Ne poussez jamais directement sur main sans revue de code.
Écrivez des messages de commit clairs (ex: feat: ajouter le formulaire de contact).
Résolvez les conflits localement avant de pousser.

💡 Astuce : Une Pull Request (PR) n'est pas une commande Git, mais une fonctionnalité de GitHub permettant de discuter, reviewer et fusionner du code en toute sécurité.