2017-08-09 17 views
1

私は何か間違っていると思っていますが、どこが分からないのでしょうか?私は働く支部と支部支部を持っています。作業ブランチには、まだマスターブランチにないコミットがいくつかあります。今私はマスターすることを約束する重大なバグフィックスを持っています。私はまた、作業ブランチでこのコミットをしたいので、私はrebaseを使用します。TortoiseGit:矛盾したベースに戻す

私はTortoiseGitでリベースウィンドウを開き、この1つのコミットを表示します。 "Start Rebase"をクリックすると、いくつかの競合が発生したことが通知されます。私は競合を修正し、rebaseウィンドウで "Commit"を押します。

コミットログにコミットが表示されます。良い。しかし、私はそれをサーバーにプッシュしたいとき、私はHEADが切り離されていると知らされます。私はこれをgit checkout -b tempで解決し、この一時的なブランチを押します。

私が今起点からフェッチして、再度リベースウィンドウを開くと、私がプッシュしたコミットがリベースのために再度表示されます。すでにリベースされているので、そこに現れてはいけないと思います。

また、競合することなくコミットを行ったときに、それが再度リベースウィンドウに表示されないことも確認しました。

私は間違っていますか?

+0

リベースダイアログを開く前に、現在の(チェックアウト)ブランチとは何ですか?あなたの働く支店?またはマスターブランチ? –

+0

サブモジュールリポジトリで作業していますか? –

+0

最初のrebaseを実行したとき、 "no branch"をRebaseしましたか? –

答えて

0

コマンドラインインタフェースを使用して:「現在のリベースの残りのアクションを続行」gitのを教えてくれ、その後リベースの競合を固定した後、あなたがコミットする必要があり、かつ:

git rebase --continue 

を私は知りませんTortoiseGitはありませんか


を行うあなたには、いくつかの「リベースを続ける」ようになり、アクション、または「再開リベース」を持っているかどうか...しないリベースについてのもう一つの事何:gitを保持しません。すでにリベースされているコミットのトラック、
の代わりに、リベースする各コミットによって導入されたパッチを調べ、ターゲットブランチをスキャンして、コミットがすでに同じパッチを適用しているかどうかを調べます。

コンフリクトが発生した場合、通常、結果のパッチで何かを変更するため、再リベースでは最初のコミットが実際に適用されたことが検出されず、そのコミットが再び表示されます。

この問題を回避する方法の1つは、リベースするのではなく、masterbranchです。

+0

ありがとうございました。私は、コミットハッシュが矛盾した再コミットされたコミットの変更に気付きませんでした。異なるハッシュでgitは同じコミットを知りません。 –