我打算做一个改变来删除我的最后一次提交,但我不想完成所以我退出了。 (我意识到这可能不是最好的方法,但它已经完成了)我想我做错了因为我每次运行fatal: Could not open file .git/rebase-merge/done for reading: No such file or directory
时都会收到错误:git status
。如何摆脱这个错误,以便我可以继续提交?我可以删除该文件吗?如果我可以删除它,我该怎么做?
答案 0 :(得分:81)
在您尝试以下操作之前,请先确保pathName
或driveTimeMinutes
任何未提交的更改,否则您将不可撤销地丢失这些更改。
然后尝试做stash
。
答案 1 :(得分:5)
隐藏或提交对我不起作用,我只是创建了git一直抱怨的文件,直到它起作用为止!
$ git rebase --abort
error: could not read '.git/rebase-apply/head-name': No such file or directory
echo "master" > .git/rebase-apply/head-name
$ git rebase --abort
error: could not read '.git/rebase-apply/onto': No such file or directory
$ echo "develop" > .git/rebase-apply/onto
$ git rebase --abort
error: could not read '.git/rebase-apply/head': No such file or directory
$ echo "develop" > .git/rebase-apply/head
之后git rebase --abort
起作用。您要放在这些文件中的分支名称必须存在,就我而言,我并不在乎我的本地转换器,但是如果您这样做,显然要当心。
答案 2 :(得分:4)
DavidN的中止rebase的解决方案是很好,只要你自上一次rebase向南以来没有任何非分段更改!
如果您在rebase尝试后编写代码,则忽略could not open file .git/rebase-merge/done
消息,
然后你最好的选择是
git stash
保存本地更改,然后才中止rebase。
我确信这是stackoverflow问题之一,那些渴望在不考虑其影响的情况下解决问题的人只会运行abort命令并很快就会后悔。
答案 3 :(得分:0)
我刚刚完成:
git add .
git commit -m "change inter rebase"
然后可以继续:
git rebase --continue
否
git stash
git rebase --abort
需要。
答案 4 :(得分:0)
对于在 Visual Studio Code 中执行此操作的人,请关闭正在运行的终端/shell,然后运行 git rebase --quit
这样做可以解决问题。