1

I'm trying to rebase a branch B over a branch A, but one of the newest commits in A deletes one folder replacing it with a git submodule.

After running git rebase A, git stops at every single commit of B (about 200) asking me to resolve conflicts. Then I run git mergetool and I get:

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

I tried to enable git rerere by running git config --global rerere.enabled 1 and I did call git rerere after having "resolved" (by just typing L).

The problem is: by looking in the .git/rr-cache/ folder I can see that it has recorded one resolution, but it is about the only time (in over 20 resolutions) where I did have to really resolve a conflict.

Maybe rerere doesn't record this type of resolution? If that's the case, how could I do it?

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 回答