誤ってコミットに無関係な変更を含める
私のgitコミットへの個人的なアプローチは、すべてのコミットがその完全性に変更の単位を含める必要があるということです。 私が開発するとき、私は通常そのようなユニットに焦点を合わせます。しかし、時々、私の注意がどこか他の場所に迷子になり、しばらくの間別のユニットで作業します。これはおそらく最適ではありませんgit add --interactiveが、慎重にコミットすることを学びました(私の良い友達です)。 ただし、変更を選択的にステージングするのを忘れて、代わりにファイル全体をコミットする場合があります。diffに表示されるすべての変更は、実際には同じユニットに関連していると信じています。 それから私git push。 これは危険ですか?意図した変更のみが含まれるようにコミットを修正するよう努力する必要がありますか?私の主な懸念は、歴史を見る他の誰もが変更を目にし、おそらくそれが間違いであることに気付く前に数分間頭を掻くでしょう。さらに悪いことに、変更が関連しているように見え、プログラマーがエラーを認識しない可能性があることは想像できます。 問題は、すでにプッシュしているため、サーバーの履歴を安全に書き換えることができないため、おそらく最初にコミットを元に戻して、適切に分割して再度コミットする必要があるでしょう。または、コミットをより適切なコミットメッセージで修正することもできますが、履歴の書き換えも必要になるため、本当に高速でなければなりません。最後の手段として、私が取り組んでいるユニットを次のようにコミットするだけで、以前のコミットに関連する変更があることに注意してください(ただし、これは間違っていると感じています)。 適切なコードレビューワークフローを備えたマルチ開発者の設定では、これが発生しない可能性があることを理解しています。私がプロジェクトの唯一の開発者である場合、履歴を書き換えることがこれに対する最良の解決策であることも理解しています。