Git の push --force は有害です。何故ならローカルの内容を無条件にリモートレポジトリを上書きしてしまい、チームメンバーがその間にプッシュしていた変更を上書きてしまうからです。しかし、これには改善策があります。強制プッシュがどうしても必要ではあるけれど、他人の作業を上書きしないようにしたいときは --force-with-lease というオプションを利用します。 Git の push --force は共有レポジトリにプッシュされた他の変更を破壊する可能性があるので、利用すべきではないことは良く知られています。常に完全に失われることにならなくても (もし変更が他人のワーキングツリーに存在していればマージすることは可能です)、これは無分別な対処であり、最悪の場合は大きな損害を招きます。何故なら --force というオプションはブランチの先頭をローカルの履歴に設定し、これまで
![--force は有害だという考え; git の --force-with-lease を理解する / Atlassian Japan](https://cdn-ak-scissors.b.st-hatena.com/image/square/5f150d9b5ce8be97f64de09f0fe58c8044fce8dd/height=288;version=1;width=512/https%3A%2F%2Faatljapan.wpengine.com%2Fwp-content%2Fuploads%2Face.png)