Aucun fichier indexé. Utilisez git add pour indexer vos changements.
📊 Graphe de commitsbranche actuellemain
🌿 Historique divergentIntermediate0/5
📖 Concepts
Push non-fast-forwardGit rejette les pushes quand le remote a des commits que vous n'avez pas localement. Cela évite d'écraser accidentellement le travail de quelqu'un d'autre. Vous devez pull d'abord pour réconcilier.
Historique divergentQuand deux personnes committent sur la même branche depuis le même ancêtre, leurs historiques divergent. Git ne peut pas fast-forwarder parce qu'aucun côté n'est un ancêtre direct de l'autre.
git pull (fetch + merge)Pull récupère les commits distants et les merge dans votre branche locale, créant un commit de merge qui réconcilie les deux lignes d'historique. Après ça, le push réussit.
📖 Histoire
Vous et un coéquipier avez tous deux committé sur main en travaillant sur des features séparées. Quand vous essayez de pusher, Git refuse : le remote a des commits que vous n'avez pas en local.
Vous devez pull les changements distants et réconcilier la divergence. git pull récupère le travail distant et le merge dedans, créant un commit de merge qui enregistre les deux lignes d'historique.
Puis vous pushez à nouveau — cette fois ça passe.
C'est le moment de « panique git » le plus courant pour les développeurs — et une fois que vous le comprenez, le rejet de push ne vous fera plus jamais peur.
Vérifiez l'historique local et distant
Lancez git log --oneline --all --graph. Votre main local a « Add CI config » mais le remote a un autre commit « Add Makefile » de votre coéquipier. Ils ont divergé depuis la même base.
● Vérifiez l'historique local et distant
○ Tentez de pusher (sera rejeté en vrai)
○ Option 1 : Pull avec merge pour réconcilier
○ Vérifiez le commit de merge
○ Pushez de nouveau — cette fois ça réussit
Terminal
📘 Starting tutorial: Diverged History
Your push was rejected — now what? Reconcile divergent histories with git pull and merge.