我正在通过git rebase的一部分,我卡住了。我不记得发生了什么,但我使用了一个UI,删除了一个 checkout 的分支,一切似乎只是空白。我重新启动并设法做了一些其他的工作,创建和提交到其他分支等,但后来我注意到一个状态说我仍然在一个重基的中间
如果我尝试
git rebase --skip
git rebase --continue
git rebase --abort
字符串
每一个都失败
error: could not read '.git/rebase-merge/head-name': No such file or directory
型
有没有办法让我回到稳定的状态?我真的不介意什么是rebase相关,所以我不试图回到点,我仍然在rebase的中间。
编辑:
$ git status
On branch fix/SJW-01225
Your branch is up to date with 'core-v3/fix/SJW-01225'.
You are currently rebasing.
(all conflicts fixed: run "git rebase --continue")
Untracked files:
(use "git add <file>..." to include in what will be committed)
[long list of untracked files]
nothing added to commit but untracked files present (use "git add" to track)
型
编辑-1:
$ touch .git/rebase-merge/head-name
$ git rebase --abort
error: could not read '.git/rebase-merge/onto': No such file or directory
$ touch .git/rebase-merge/onto
$ git rebase --abort
error: could not get 'onto': ''
型
Thx
5条答案
按热度按时间dw1jzc5e1#
要从损坏的
git rebase
中逃脱,可以执行以下操作1.重置为已知状态。你可以找出你从哪个提交开始你的
rebase
与git reflog
。例如,
reflog
将给予以下内容。如果执行交互式重基,重基起点是最后一个rebase (start)
或rebase -i (start)
。下面是HEAD@{1}
:字符串
所以你需要的是:
型
1.删除
rebase-merge
文件夹型
p8h8hvxi2#
我不知怎么的把我的回购变成了同样的状态。在我的例子中,没有
.git/rebase-merge
目录,但我找到了rebase-apply
目录。除了正在进行的rebase,git status
是干净的,所以我唯一需要做的事情就是运行,以摆脱奇怪的坏rebase状态:字符串
9rbhqvlz3#
git rebase --quit
为我工作。suzh9iv84#
我遇到了类似的问题:
字符串
所以我尝试启动一个新的重新基础,我得到了这个线索(顺便说一句,我第一次看到Git用第一人称指代自己):
型
**所以在我的例子中,这个问题是通过
rm -fr ".git/rebase-merge"
强制递归地删除Git的rebase-merge目录来解决的。wqlqzqxt5#
遇到类似的问题,
--abort
不工作字符串
并没有发现任何错误的回购使用
型
在我固定它通过清洁,即.发出以下命令(如果您有未提交的更改,则非常具有破坏性)
型