Pierry Lim

Erreurs courantes Git et comment les corriger

· Mis à jour le 17 janvier 2026 · 8 min de lecture
Git
Développement
Outils
Guide

Découvrez comment résoudre les erreurs Git les plus courantes : conflicts de merge, resets ratés, problèmes de branches. Guide avec exemples concrets et solutions étape par étape.

Erreurs Git courantes et solutions

Sommaire

Introduction

Git est un outil puissant mais parfois déroutant. Méme les développeurs expérimentés se retrouvent parfois bloqués par des erreurs qui semblent insurmontables. La bonne nouvelle ? La plupart de ces erreurs ont des solutions connues et reproductibles.

Dans cet article, nous allons passer en revue les erreurs Git les plus fréquentes et voir ensemble comment les résoudre pas à pas. Chaque situation sera accompagnée d’exemples concrets et de commandes à exécuter.

Les erreurs de merge et de conflit

Conflit de merge classique

Le problème : Vous tentez de merger une branche et Git vous affiche :

CONFLICT (content): Merge conflict in fichier.js
Automatic merge failed; fix conflicts and then commit the result.

La solution :

  1. Identifiez les fichiers en conflit :
git status
  1. Ouvrez le fichier et cherchez les marqueurs de conflit :
<<<<<<< HEAD
// Votre version
function calculer() {
  return a + b;
}
=======
// Version de la branche à merger
function calculer() {
  return a * b;
}
>>>>>>> feature-branch
  1. Résolvez le conflit en gardant le bon code :
function calculer() {
  return a + b; // Ou la logique que vous voulez garder
}
  1. Ajoutez le fichier résolu et terminez le merge :
git add fichier.js
git commit -m "Résolution du conflit de merge"

Merge accidentel

Le problème : Vous avez mergé la mauvaise branche ou au mauvais moment.

La solution :

# Annuler le dernier merge (si pas encore pushé)
git reset --hard HEAD~1

# Ou utiliser reflog pour trouver l'état d'avant le merge
git reflog
git reset --hard HEAD@{2}  # Remplacez {2} par l'index correct

Les erreurs de reset et revert

Reset trop agressif

Le problème : Vous avez fait un git reset --hard et perdu des modifications importantes.

La solution :

  1. Utilisez reflog pour retrouver vos commits :
git reflog
  1. Récupérez le commit perdu :
git reset --hard commit_hash  # Hash trouvé dans reflog
  1. Pour les fichiers non commitités, vérifiez les stash :
git stash list
git stash apply stash@{0}  # Si vous aviez stashé

Commit perdu aprés un reset

Le problème : Vous ne retrouvez plus un commit aprés avoir fait des manipulations.

La solution :

# Voir l'historique complet des actions
git reflog --all

# Récupérer un commit spécifique
git cherry-pick commit_hash

# Ou créer une nouvelle branche à partir de ce commit
git checkout -b recovery-branch commit_hash

Les problèmes de branches

Branche supprimée par erreur

Le problème : Vous avez supprimé une branche locale ou remote par erreur.

La solution pour une branche locale :

# Trouver le dernier commit de la branche
git reflog | grep "checkout:"

# Recréer la branche
git checkout -b ma-branche-recuperee commit_hash

La solution pour une branche remote :

# Si la branche existe encore localement
git push origin ma-branche

# Sinon, récupérez-la depuis un autre développeur ou backup
git fetch origin
git checkout -b ma-branche origin/ma-branche

Push refusé par le remote

Le problème :

! [rejected] master -> master (fetch first)
error: failed to push some refs to 'origin'

La solution :

# Récupérer les derniéres modifications
git fetch origin

# Faire un rebase ou un merge
git rebase origin/master  # Recommandé pour un historique propre
# ou
git merge origin/master   # Plus simple mais crée un commit de merge

# Puis pusher
git push origin master

Les erreurs de configuration

Mauvaise configuration d’utilisateur

Le problème : Vos commits apparaissent avec le mauvais nom ou email.

La solution :

# Vérifier la configuration actuelle
git config --list

# Corriger globalement
git config --global user.name "Votre Nom"
git config --global user.email "[email protected]"

# Ou pour un projet specifique (sans --global)
git config user.name "Nom pour ce projet"
git config user.email "[email protected]"

# Modifier l'auteur du dernier commit
git commit --amend --author="Nouveau Nom <[email protected]>"

Problèmes de remote

Le problème : Le remote pointe vers une mauvaise URL ou n’existe plus.

La solution :

# Vérifier les remotes actuels
git remote -v

# Changer l'URL d'un remote
git remote set-url origin https://nouvelle-url.git

# Ajouter un nouveau remote
git remote add upstream https://url-du-fork-original.git

# Supprimer un remote
git remote remove ancien-nom

Outils et bonnes pratiques pour éviter les erreurs

Outils recommandés

  1. Interface graphique : GitKraken, Sourcetree, ou VS Code avec GitLens
  2. Alias Git utiles :
git config --global alias.st status
git config --global alias.co checkout  
git config --global alias.br branch
git config --global alias.unstage 'reset HEAD --'
git config --global alias.last 'log -1 HEAD'

Bonnes pratiques

  • Commitez souvent : De petits commits sont plus faciles à gérer
  • Utilisez des messages descriptifs : feat: add user authentication plutét que fix
  • Testez avant de pusher : git status et git log --oneline sont vos amis
  • Travaillez sur des branches : Ne travaillez jamais directement sur main/master
  • Backupez réguliérement : Pushez vos branches méme en cours de développement

FAQ

Comment annuler le dernier commit sans perdre les modifications ?

git reset --soft HEAD~1

Vos modifications restent dans l’index (staged).

J’ai committé sur la mauvaise branche, comment faire ?

# Sauvegarder le commit
git log --oneline  # Noter le hash du commit

# Revenir au commit précédent
git reset --hard HEAD~1

# Aller sur la bonne branche
git checkout bonne-branche

# Récupérer le commit
git cherry-pick hash_du_commit

Comment voir ce qui va être mergé avant de le faire ?

git diff master..feature-branch
# ou
git log master..feature-branch --oneline

Git me demande toujours mes identifiants, pourquoi ?

Configurez l’authentification :

# Avec SSH (recommandé)
git remote set-url origin [email protected]:user/repo.git

# Ou avec credential helper
git config --global credential.helper store

Comment récupérer un fichier d’une version précédente ?

# Récupérer un fichier du dernier commit
git checkout HEAD -- nom-du-fichier

# Récupérer d'un commit spécifique
git checkout commit_hash -- nom-du-fichier

Git peut sembler intimidant au début, mais avec ces solutions en poche, vous devriez pouvoir résoudre la plupart des situations délicates. N’hésitez pas à expérimenter dans un dépét test pour vous familiariser avec ces commandes !

Travaillons ensemble

Vous cherchez un développeur freelance pour créer un site web ou une application sur mesure ? Contactez-moi pour discuter de votre projet et obtenir un devis personnalisé.