Mon collègue Calle (pas sur la photo) a suggéré dans nos guides que nous
préférions l'option --force-with-lease
à --force
à ajouter sur la commande git push
.
Cette option permet de forcer le push sans risquer d'écraser involontairement
le travail de quelqu'un d'autre.
Elle ne mettra à jour les références du branche remote que si elles ont la même valeur que la branche locale. En d'autres termes, seulement si personne n'a mis à jour la branche en amont. S'il y a de nouveaux commits distants, --force-with-lease
échouera avec un message “stale info”, nous incitant à récupérer d'abord.
--force-with-lease
s'intègre bien dans notre flux de travail qui consiste à rebaser et écraser les commits avant de les fusionner dans master, et nous l'utilisons si souvent que nous avons créé un alias dans notre gitconfig
:
[alias]
pf = push --force-with-lease
Je pousse maintenant toujours avec l'alias pf
, ce qui fait que mon travail est toujours fusionné avec la branche en amont. Sauf si elle risque de mettre le feu à la maison.