関連: すべてのgitコミットはプロジェクトを動作状態のままにする必要がありますか?
次のコミットをローカルで行うと仮定します。
- データベーススキーマを変更して、アプリケーションを破壊します。 
- データベーススキーマと再度互換性があるようにアプリケーションを更新します。 
両方のコミットをプッシュする限りmaster、動作状態のままです。ただし、履歴バージョンは壊れています。
私はgit rebase -iコミットを一緒につぶすために使用できることを知っています。ただし、結果のコミットは大きくなり、説明が少なくなります。コミット履歴を検索して、何かを変更した理由を調べる必要がある場合は、元のコミットが自分が何をしたのか、そしてなぜなのかを示したいと思います。
私の質問は:
- masterで壊れた履歴コミットが原因で問題が発生した人はいますか? 
- もしそうなら、個々のコミットメッセージと変更を破棄せずに、そのような困難を避ける簡単な方法はありますか?