1

私は機能ブランチに数日間取り組んできましたが、今では にマージする準備ができていdevます。この機能に取り組んでいる間dev、パッチを受け取るために とマージしました。私の履歴は次のようになります。

* E (feature1)
* D:merge with dev
|  \ 
* C * B:patch (dev)
  \ | 
    * A

devブランチ全体を 1 つのコミットにまとめ、マージしてから早送りしたいと思いdevます。問題は、マージがそれらの間で行われるため、E押しつぶすことができないことです。C唯一のオプションは squashEと(新しい commit を呼び出す) のようBです。この場合、squash されたコミットには無関係なパッチの一部であった変更も含まれます。にマージされると、パッチを適用する 2 つのコミットがあります: (パッチを適用して機能を追加する) と(パッチを適用するだけ)。その上、今では 2 つの無関係な変更を行う予定です。CFdevFBF

私の履歴をきれいに保つ方法はありますか?ワークフローを変更する必要がありますか?

4

3 に答える 3