致命:无法打开文件.git / rebase-merge / done进行阅读:没有这样的文件或目录

时间:2016-08-05 16:05:40

标签: git github

我打算做一个改变来删除我的最后一次提交,但我不想完成所以我退出了。 (我意识到这可能不是最好的方法,但它已经完成了)我想我做错了因为我每次运行fatal: Could not open file .git/rebase-merge/done for reading: No such file or directory时都会收到错误:git status。如何摆脱这个错误,以便我可以继续提交?我可以删除该文件吗?如果我可以删除它,我该怎么做?

5 个答案:

答案 0 :(得分:81)

在您尝试以下操作之前,请先确保pathNamedriveTimeMinutes任何未提交的更改,否则您将不可撤销地丢失这些更改。

然后尝试做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

这样做可以解决问题。