私は2つのブランチを両方とも独立させていました。私は1か月以上にわたってさまざまな時点でそれらに取り組みました。オレンジをチェックして実行することで、一方のブランチ(それを呼び出しましょうapple
)をもう一方のブランチ(それを呼びましょう)にマージしましたが、すべてうまくいきました。gitkでは、各ブランチに独自の履歴があり、オレンジ色のマージコミットでマージされていることがはっきりとわかりました。 orange
git merge --no-ff apple
後で、オレンジ色のコミットが正しくないことに気付き、ビルドプロセスに誤りがあるため、オレンジ色の初期コミットを編集する必要があります。を使用git rebase -i HEAD~19
し、コミットを選択してに変更pick
しedit
ます。だから私はコミットを編集し、すべてがうまくいき、リベースを終了します。gitkに戻ると、2つのブランチのすべての履歴は、オレンジ色の1つの線形履歴です。
それで、私は何かを台無しにしましたか、それともこれはそれが想定されている方法ですか?git reflogを使用してマージを行ったときに戻り、オレンジ色のマージの直前に戻るために別のリセットをハードに実行し、次にリベースを実行してそのコミットを修正し、その後マージを実行しました。これで、ブランチからのコミットがインターレースされていない場合、すべてが私が期待するように見えます。
将来の参考のために、インターレースコミット(線形履歴)で終わることなく、別のブランチにマージしたブランチでコミットをリベースする方法を誰かに教えてもらえますか?
私の用語が正しくない場合は、これを自由に編集してください。再度、感謝します