成功从损坏的 git rebase 中恢复后,再次调用 git rebase 无法正常工作

问题描述 投票:0回答:0

在修改了一个

git rebase -i
之后,我最终把代码变成了我想要的状态。

$ git log
55c602ed1c (HEAD -> main) 
6c3fa102c2 (detached-branch) 
6ec87486d1 
89dd40a86a 
f6f4b6edb2 
77742d9d69 
32b67d2a01 
...

提交

55c602ed1c
完全正确。

但是,当我现在调用

git rebase -i 6c3fa102c2
时,我得到了意想不到的编辑器内容:

pick 77742d9d69
pick f6f4b6edb2
pick 89dd40a86a

# Rebase 6c3fa102c2..55c602ed1c onto 6c3fa102c2 (3 commands)
#
# Commands:
# ...

我当然期待看到

pick 6c3fa102c2
pick 55c602ed1c

# Rebase 6c3fa102c2..55c602ed1c onto 6c3fa102c2 (3 commands)
#
# Commands:
# ...

现在我退出编辑器而不保存并得到一条消息和错误:

Auto-merging ...
CONFLICT ... 
<more conflicts>

所以我做

git rebase --abort
来摆脱它,这使得分支处于正确的状态,但仍然无法变基。

仅供参考:

% git reflog
55c602ed1c (HEAD -> main) HEAD@{0}: rebase -i (abort): updating HEAD
6c3fa102c2 (detached-branch) HEAD@{1}: rebase -i (start): checkout 6c3fa102c2
55c602ed1c (HEAD -> main) HEAD@{2}: rebase -i (finish): returning to refs/heads/main
55c602ed1c (HEAD -> main) HEAD@{3}: rebase -i (start): checkout HEAD
55c602ed1c (HEAD -> main) HEAD@{4}: rebase -i (abort): updating HEAD
6c3fa102c2 (detached-branch) HEAD@{5}: rebase -i (start): checkout 6c3fa102c2fdbbfe61f3b6d9aaa9e80d259625a8
55c602ed1c (HEAD -> main) HEAD@{6}: rebase -i (abort): updating HEAD
6c3fa102c2 (detached-branch) HEAD@{7}: rebase -i (start): checkout 6c3fa102c2fdbbfe61f3b6d9aaa9e80d259625a8
55c602ed1c (HEAD -> main) HEAD@{8}: rebase -i (finish): returning to refs/heads/main
55c602ed1c (HEAD -> main) HEAD@{9}: rebase -i (start): checkout 55c602ed1c9093c5fb082e07fc38837a2971ec08
55c602ed1c (HEAD -> main) HEAD@{10}: checkout: moving from detached-branch to main
6c3fa102c2 (detached-branch) HEAD@{11}: checkout: moving from main to detached-branch
55c602ed1c (HEAD -> main) HEAD@{12}: rebase -i (abort): updating HEAD
6ec87486d1 HEAD@{13}: rebase -i (start): checkout 6ec87486d1eaaa4e4c691c7e14a37876b18c98de
55c602ed1c (HEAD -> main) HEAD@{14}: commit (merge): 
89dd40a86a HEAD@{15}: checkout: moving from detached-branch to main
6c3fa102c2 (detached-branch) HEAD@{16}: checkout: moving from 6c3fa102c2fdbbfe61f3b6d9aaa9e80d259625a8 to detached-branch

如何恢复正常的 rebase 功能?

git git-rebase
© www.soinside.com 2019 - 2024. All rights reserved.