Aller au contenu principal

Se connecter

Sauvegarde ta progression et retrouve-la sur tous tes appareils.

Ou par email

Pas encore de compte ?

Politique de confidentialité

failed to push some refs Comment corriger cette erreur Git

Votre push a ete rejete car la branche distante contient des commits que vous n'avez pas localement. C'est l'une des erreurs Git les plus courantes, surtout en equipe. Voici comment la corriger en toute securite.

Erreur expliquee

Ce que cette erreur signifie

Lorsque vous voyez error: failed to push some refs to 'origin', Git vous indique que la branche distante a avance par rapport a votre branche locale. Quelqu'un d'autre a pousse des commits, ou vous avez reecrit l'historique localement, et les deux branches ont maintenant diverge.

Git refuse de pousser car cela ecraserait des commits sur le distant que votre branche locale ne contient pas. C'est un mecanisme de securite pour eviter la perte de donnees.

La correction est simple : recuperez d'abord les modifications distantes dans votre branche locale, puis poussez a nouveau. Dans la plupart des cas, une seule commande suffit.

Pourquoi cela se produit

Le plus courant

Quelqu'un d'autre a pousse en premier

Un coequipier a pousse de nouveaux commits sur la meme branche pendant que vous travailliez. Votre branche locale est maintenant en retard sur le distant. C'est la cause la plus frequente en environnement d'equipe et c'est tout a fait normal dans les workflows collaboratifs.

Apres reecriture

Vous avez rebase localement

Vous avez lance git rebase sur des commits deja pousses. Le rebase reecrit les hash de commit, donc Git voit votre branche locale comme divergente du distant meme si le contenu est similaire. Cela necessite un force push pour etre resolu.

Apres amend

Vous avez amende un commit pousse

Lancer git commit --amend sur le dernier commit change son hash. Si ce commit a deja ete pousse, les historiques distant et local ne correspondent plus. Vous aurez besoin de --force-with-lease pour mettre a jour le distant.

Comment corriger

Trois approches selon votre situation. Commencez par pull --rebase, qui fonctionne dans la plupart des cas et garde un historique propre.

Pull avec rebase (recommande)

Pull avec merge

Force push (apres reecriture uniquement)

Comment prevenir cette erreur

Faire un pull avant de pousser

Prenez l'habitude de lancer git pull --rebase avant de pousser, surtout sur les branches partagees. Cela garantit que votre branche locale inclut tous les commits distants avant d'essayer d'envoyer les votres.

Utiliser des branches de fonctionnalite

Travaillez sur une branche dediee au lieu de commiter directement sur main. Les branches de fonctionnalite reduisent les conflits car moins de personnes poussent sur la meme branche simultanement. Fusionnez via des pull requests quand c'est pret.

Faire des fetch regulierement pour rester a jour

Lancez git fetch origin periodiquement tout au long de la journee. Cela telecharge les modifications distantes sans modifier votre repertoire de travail, vous permettant de voir si le distant a avance avant d'essayer de pousser.

A

GitQuest est conçu par Anaïs (nouvelle fenêtre), développeuse web et responsable pédagogique, spécialisée en formations tech et accessibilité numérique.

Questions sur cette erreur

Maitrisez git push et pull sans prise de tete

GitQuest vous enseigne les workflows Git collaboratifs a travers des scenarios realistes. Plus d'erreurs de push mysterieuses.

Commencer a apprendre Git