54

を実行しているときに競合を解決する最良の方法は何git svn rebaseですか?

4

2 に答える 2

90

実行中git svn rebaseにマージの競合が発生した場合は、次のことを覚えておいてください。

1)リベースの実行中に何か悪いことが起こった場合、(no-branch)ブランチに行き着きます。

2)を実行するgit statusと、.dotest作業ディレクトリにファイルが表示されます。これは無視しても安全です。

3)リベースを中止する場合は、次のコマンドを使用します。1

git rebase --abort

4)マージの競合がある場合:

  1. ファイルを手動で編集して競合を解決する
  2. で変更をステージングgit add [file]
  3. 2でリベースを続行しますgit rebase --continue
    • git が「呼び出すのを忘れましたgit addか?」と尋ねた場合、編集により競合がノーオペレーションの変更に変わりました3。続けるgit rebase --skip

リベースが完了するまで、このプロセスを繰り返さなければならない場合があります。いつでもgit rebase --abortリベースをキャンセルして放棄することができます。


1: の--abortオプションはありませんgit svn rebase

2: の--continueオプションはありませんgit svn rebase

3: これは非常に奇妙ですが、ファイルは、その特定のパッチの後、git が同じであると見なす状態にあります。解決策は、リベースでそのパッチを「スキップ」することです。

于 2008-09-22T02:11:01.660 に答える
27

を使用git mergetoolして、通常の方法で競合を表示および編集できます。競合が解決されたことを確認したらgit rebase --continue、リベースを続行するか、そのリビジョンを含めたくない場合は実行しますgit rebase --skip

于 2008-09-22T02:08:32.320 に答える