私は独立した2つのブランチを持っていました。私は1ヶ月以上に渡ってさまざまなポイントでそれらに取り組んだ。オレンジをチェックしてgit merge --no-ff apple
を実行することで、1つのブランチ(それをapple
と呼ぶ)を他のもの(orange
と呼ぶ)にマージしようとしました。 gitkでは、それぞれのブランチが独自の履歴を持っていることを明確に見ることができ、オレンジ色のマージコミットで一緒にマージされました。git - rebase ruins merge
後、私はオレンジ色でコミットが間違っている、そこにビルドプロセスでミスがあり、私は早くオレンジ色にコミットすることで編集しなければならないことを実現します。 git rebase -i HEAD~19
を使用してコミットを選択し、pick
からedit
に変更します。だから私はコミットを編集し、すべてが問題なく、私はrebaseを終了します。私はgitkに戻り、2つの枝のすべての歴史はオレンジ色の線形履歴です。
私は何かをねじで止めたのですか?これがこれであるはずです。私はgit reflogを使ってマージを行ったときに戻ってきました。そして、もう一度、オレンジ色のマージの前にもう一度リセットするようにもう一度やり直しました。そして、私はリベースを行い、そのコミットを修正しました。今では、ブランチからのコミットが相互にインターレースされていないところで、すべてが私が期待する方法を見ています。私は、インターレースコミット(リニア履歴)で終わることなく、私は別のブランチにマージしてきたブランチにコミットをリベースすることができますどのように誰かが私を伝えることができ、将来の参考のために
?
私の用語が正しくない場合は、これを編集してください。再度ありがとう
私は 'gitk'を知らないが、' gitg'に私は枝を選択するオプションを持っている、あなたはすべてのローカル枝のようなものを選んだのですか? –
相対 'HEAD〜19'の代わりにコミットIDにリベースするのでしょうか? 1.8.5をgitの – nneonneo
注、私は感謝の更新のための感謝を(http://stackoverflow.com/a/18756102/6309) – VonC