1

ブランチ B をブランチ A にリベースしようとしていますが、A の最新のコミットの 1 つが 1 つのフォルダーを削除し、それを git サブモジュールに置き換えます。

を実行した後、gitは B (約 200) のコミットごとにgit rebase A停止し、競合を解決するように求めます。次に実行すると、次のようになります。git mergetool

Submodule merge conflict for 'isolate':
  {local}: submodule commit 0b28bb5dc58c86f38729a6f06c235bc564033556
  {remote}: deleted
Use (l)ocal or (r)emote, or (a)bort?

実行して git rerere を有効にしようとしましたが、「解決」した後にgit config --global rerere.enabled 1呼び出しました(入力するだけで)。git rerereL

問題は、.git/rr-cache/フォルダーを調べると、1 つの解決策が記録されていることがわかりますが、実際に競合を解決する必要があったのは (20 件以上の解決策の中で) 唯一の時間です。

たぶん rerere はこのタイプの解像度を記録しませんか? その場合、どうすればよいですか?

4

1 に答える 1

1

最初は面倒すぎると思った:

git mergetool
# type "l", type "enter"
git rebase --continue

しかし、私はこれをしました:

echo "l" | git mergetool && git rebase --continue

はるかに高速だったので、すべてのコミットでそれを行いました。

ただし、誰かがそれを見つけた場合、私はまだより良い解決策に興味があります:)

于 2014-08-19T19:15:40.503 に答える