gitに限らずバージョンコントロールシステム共通に言えることですけど(笑)
・単一の機能の追加・修正単位でコミットする
・逆に複数の機能を入れてコミットしないこと
・1つのバグを直したらコミットする
当たり前の事ですが、これを習慣づけると以下の様なメリットがあります。
・あとでログを見た時にわかりやすい。特に他人が見た時にそうなってないよりわかりやすい
・CherryPickしやすい
・どこかのバージョンで混入されたバグを特定するために、1つずつ古いバージョンをcheckoutしてたどる際に、バグを特定しやすい
書いてる自分も熱が入ると色々修正しすぎちゃって大きな単位でコミットしてしまいますが・・・