2016-01-09 34 views
17

私は同僚の仕事を再建しようとしています。Git rebase failed

まず、私は新しいコードが含まれているために< < < < <ヘッド縫い目競合のトンを取得します。

は、その後しばらくした後、私は次のエラーを取得する:

fatal: update_ref failed for ref 'refs/heads/dev_504': 
cannot lock ref  'refs/heads/dev_504': ref refs/heads/dev_504 is at 
XXXXXXX 
but expected  XXXXXXXX 
Could not move back to refs/heads/dev_504 

私はとにかく継続しようとするならば、私は次のエラーを取得する:

fatal: cannot resume: .git/rebase-apply/final-commit does not exist. 

リベースが勝ったので、私はこの問題を解決するにはどうすればよいですエラーはありませんか?

+5

http://stackoverflow.com/questions/3685001/git-how-to-fix-corrupted-interactive-rebaseをご覧ください。助けてくれるかもしれない –

+5

'git rebase --abort'の後にやり直してみましたか? – dahlbyk

+1

使用した最初のコマンドは何ですか? –

答えて

-2

変更と同僚の変更がコミットされていることを確認してください。あなたが別のブランチとローカルのブランチを更新する場合

は、あなたがそうでなければ

git rebase < your branch > < another_branch >

git rebase < another_branch > < your_branch >

-2

、あなたは、単に行うことができ、同僚の変更があなたの上に持続する場合は、競合を解決しなければなりませんあなたの変更とそれらの間で選択することによって。 競合を解決した後、あなたは、このgitのコマンドを書き込むことによって、あなたのリベースを続けることができます。

`git rebase --abort` 
5
    :あなたは、このGitのコマンドを書くことができリベースのあなたの行動を中止したい場合は

    git rebase --continue

  • git rebase --abortを実行すると、リベースを完全に元に戻すことができます。 git rebaseが呼び出される前の状態で、Gitはあなたの支部の状態に戻ります。

  • git rebase --skipを実行すると、コミットを完全にスキップできます。つまり、問題のあるコミットによって導入された変更は含まれません。このオプションを選択することは非常にまれです。

  • 競合を修正できます。

  • 失敗した場合は、ブランチを再作成するか、リベース状態の.git/rebase-mergeディレクトリを削除する必要があります。

2

はどうやらあなたがリベースしたい、その上に枝は、また多分履歴アップを清掃するか、まだ別のブランチを上リベース、あなたが分岐時間の間リベースました。もしそうなら、あなたがする必要があります。

  • アボートを、現在の混乱:git rebase --abort
  • は現在すべき:今git fetch
  • 興味深い部分:

    git rebase --onto BUDDY_BRANCH YOUR_BRANCH~ YOUR_BRANCH

例えば あなたは(あなたが今現在の原点/マスターで更新する)、ローカルマスター(原点/マスターのチェックアウト)、新しいブランチtest_branch

で、これは簡単な言葉でされて何
git rebase --onto master test_branch~ test_branch 

分枝それは、あなたのブランチの最初の親コミットをとり、それを現在のマスターのカウンターパートとそれに基づいてリベースします。

関連する問題