Par Anonyme (non vérifié) , 29 avril 2026

Le problème avec --force

Un git push --force simple écrase la branche distante. Si un coéquipier a poussé entre votre dernier fetch et votre push, ses commits sont silencieusement détruits.

Ce que fait --force-with-lease

git push --force-with-lease origin feature/login

Un exemple travaillé

git rebase origin/main
git push --force                # écrase silencieusement
git push --force-with-lease     # rejeté

Spécifier le SHA attendu

git push --force-with-lease=feature/login:abc123 origin feature/login

En faire le défaut

git config --global alias.pf 'push --force-with-lease'

Le piège du fetch

git fetch
git log origin/feature/login
git push --force-with-lease

Alternative plus récente : --force-if-includes

git push --force-with-lease --force-if-includes