我是git rebase的一部分,我被卡住了。我不记得到底发生了什么,但我正在使用UI并删除了一个签出分支,事情似乎变得空白。我重新启动并设法做了一些其他的工作创建并承诺到其他分支机构等但后来我注意到一个状态说我仍然在一个rebase中间
如果我试试
git rebase --skip
git rebase --continue
git rebase --abort
每个都失败了
error: could not read '.git/rebase-merge/head-name': No such file or directory
有没有办法让我恢复稳定状态?我真的不担心变基因所涉及的是什么,所以我并没有试图回到我仍处于变革中期的地步。
编辑:
$ 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': ''
谢谢
为了摆脱损坏的git rebase
,您可以执行以下操作
rebase
从哪个提交开始你的git reflog
。例如,reflog
将为您提供以下内容。如果你做了一个互动的rebase,rebase起点是最后一个rebase (start)
或rebase -i (start)
。这是HEAD@{1}
:
$ git reflog
f10ccfed (HEAD) HEAD@{0}: rebase : fast-forward
383aa038 (origin/master, origin/HEAD) HEAD@{1}: rebase (start): checkout HEAD~10
0600cf7e (origin/Files, master, Files) HEAD@{4}: checkout: moving from master to Files
0600cf7e (origin/Files, master, Files) HEAD@{5}: commit: fixes
f10ccfed (HEAD) HEAD@{6}: commit: refactoring
所以你需要的是:
git checkout master # assuming you were on master
git reset --hard HEAD@{1}
rebase-merge
文件夹 rm -rf .git/rebase-merge