Git protip : forcer gentiment le push
Par Maxime Bréhin • Publié le 23 janvier 2023 • 2 min

This page is also available in English.

Ah, le forçage de push ou l’écrasement de l’historique distant par notre historique local, voilà un sujet qui crée beaucoup d’agitation !

Le tumulte qu’il génère est souvent lié à une compréhension partielle du potentiel de la commande push. Cette même compréhension partielle est imputable à une mauvaise approche de conception / nommage des options. Il se trouve en effet que l’option de forçage la plus dangereuse se trouve être aussi la plus facile à saisir 🤦‍♂️ : la fameuse option --force.

Histoire d’enfoncer le couteau, la plupart des éditeurs, probablement en raison du fait que leurs devs n’ont pas été fichus de lire la doc’ en entier, proposent une option unique de forçage qui est le --force ! 🤦‍♂️🤦‍♂️

Pourtant, il existe une option dont le but est de garantir qu’on n’écrase pas un historique qui n’aurait pas été récupéré au préalable depuis le distant : --force-with-lease.

Cette option a tout intérêt à être combinée avec une seconde option --force-if-includes pour vérifier non seulement que l’état du dépôt distant a été récupéré mais aussi qu’il a été appliqué à notre historique local.

Plus simplement, ne fais plus de git push --force, sauf si c’est pour volontairement effacer un historique produit par un·e de tes collègues !
Préfère un git push --force-with-lease --force-if-includes. Et si c’est trop long à taper, fais-toi un alias :

git config --global alias.push-with-lease 'push --force-with-lease --force-if-includes'

Des astuces en veux-tu en voilà !

On a tout plein d’articles et de vidéos existants et encore beaucoup à venir. Pour ne rien manquer, tu devrais penser à t’abonner à notre newsletter, à notre chaîne YouTube, nous suivre sur Twitter ou encore mieux, à suivre notre formation du feu de dieu 🔥 : Git Total !

Découvrez nos cours vidéo ! 🖥

Nos cours vidéo sont un complément idéal et bon marché à nos articles techniques et formations présentielles. Autour de Git, de JavaScript et d’autres sujets, retrouvez des contenus de très grande qualité à des prix abordables, spécialement conçus pour lever vos plus gros points de blocage.