Forcer un push avec précaution

Tute Costa
Traduit par George Kosmopoulos

A quoi ressemble "git push force" ?

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.

About thoughtbot

We've been helping engineering teams deliver exceptional products for over 20 years. Our designers, developers, and product managers work closely with teams to solve your toughest software challenges through collaborative design and development. Learn more about us.