git push -f は --force-if-includes を使え
git push -fでは--force-with-leaseが有名だが問題ある
--force-with-leaseはpush前に誤ってfetchしてしまうと誤force pushを止める機能が効かなくなる
--force-if-includesはGit v2.30.0から入ったオプションで、fetchで取得されているコミット (remote-tracking ref) がローカルまで取り込まれていないとこけるようになる