我正在尝试在分支A上重新绑定分支B,但是A中的一个最新提交删除了一个用git子模块替换它的文件夹。
运行git rebase A
后,git在每次提交B(约200)时停止,要求我解决冲突。然后我运行git mergetool
并得到:
Submodule merge conflict for 'isolate':
{local}: submodule commit 0b28bb5dc58c86f38729a6f06c235bc564033556
{remote}: deleted
Use (l)ocal or (r)emote, or (a)bort?
我尝试通过运行git config --global rerere.enabled 1
来启用git rerere,并且在“已解决”(仅输入 L )后确实调用了git rerere
。
问题是:通过查看.git/rr-cache/
文件夹,我可以看到它记录了一个分辨率,但它是唯一一次(超过20个分辨率)我必须真正解决冲突的地方。
也许rerere不记录这种类型的分辨率?如果是这样的话,我怎么能这样做?
答案 0 :(得分:0)
起初我认为这样做太乏味了:
git mergetool
# type "l", type "enter"
git rebase --continue
然后我这样做了:
echo "l" | git mergetool && git rebase --continue
它的速度要快得多,所以我只为所有提交做了。
然而,如果有人发现它,我仍然对更好的解决方案感兴趣:)