「フィックスアップ!」、「スカッシュ!」をよく使います。また、「rebase -i」を使用して、プッシュされていない最近の履歴をクリーンアップ、修正、またはいじることができます。インタラクティブなリベースに最も適したコミットを Git が自動的に選択できるようにする方法を見つけて、迅速なインタラクティブなリベースを行うためのエイリアスを定義できるようにしたいと考えています。
そのような場合に最適なコミットは、次のいずれかの最新の祖先になると思います。
- 他のブランチ (ローカルまたはリモート) に表示されます
- 親が複数いる
- 両親がいない
最初の条件は、他の人に影響を与える可能性のあるコミットを書き直さないことを保証します。2つ目は、マージを「介して」リベースしようとしないことを保証しますが、これは私が望んでいることではありません。3 つ目は単なるサニティ チェックです。
問題は、Git を使用してそのコミットを見つけるにはどうすればよいかということです。