rebase -iを使用していくつかのローカルコミットを潰したいのですが、ローカルコミットの間に他の人の変更を取り込んでマージしました。このコマンドを使用することはまだ可能ですか?
2 に答える
しばらく前にマージのリベースがサポートされたと思いますので、試してみてください。
ただし、そうでない場合でも、マージした変更の後でいつでも新しいブランチを作成し、git cherry-pick
そこに変更を適用するために使用して、リベースで微調整することができます。
将来的には、プライベート作業ブランチへのプレーンプルの代わりに( )を使用するgit pull --rebase
か、git fetch
その後に続けるので、変更は、マージと混合するのではなく、プルしたものに基づいてリベースされることになります。git rebase
-i
git rebase
マニュアルページから:
-p、-preserve-mergesマージを無視する代わりに、それらを再作成してみてください。
警告も含まれています:
これは内部で--interactive機構を使用しますが、それを--interactiveオプションと明示的に組み合わせることは、何をしているのかを理解していない限り、一般的には良い考えではありません。
警告は、ここでの説明を参照しています。発行git rebase -i -p
すると、コミットを並べ替えるときに予期しない結果が生じる可能性があるため、悪いリベースを元に戻すための多くの方法に精通することをお勧めします。最も重要なことは、リベースの黄金律を覚えておいてください。他の人と共有した履歴をリベースしないでください。