如何解决“腐败”的互动式底线?

我设法在我的本地git仓库中创建了一个小混乱。 我试图通过使用以下说明来修复损坏的提交。 在运行“git commit --amend”(以及git rebase --interactive之前)之前,我确定我的更改不正确,因此我执行了“git reset HEAD --hard”。 不是一个好主意,我告诉你。

现在,互动式底牌似乎“卡住”了。 Git将当前分支显示为(| REBASE-m)。 我的存储库中的每个命令(cd ..,ls,git rebase ...)都会给出以下错误:

cat:.git / rebase-merge / head-name:没有这样的文件或目录

下面是git rebase --abort的样子:

$ git rebase --abort
cat: c:/_work/project/src/git/.git/rebase-merge/quiet: No such file or directory
cat: c:/_work/project/src/git/.git/rebase-merge/head-name: No such file or directory
cat: c:/_work/project/src/git/.git/rebase-merge/orig-head: No such file or directory
HEAD is now at 4c737fb Revert "Modified file names"
rm: cannot remove `c:/_work/project/src/git/.git/rebase-merge/done': Permission denied
rm: cannot remove directory `c:/_work/project/src/git/.git/rebase-merge': Directory
not empty
cat: .git/rebase-merge/head-name: No such file or directory

这是git rebase的结果 - 继续:

$ git rebase --continue
cat: c:/_work/project/src/git/.git/rebase-merge/prev_head: No such file or directory
cat: c:/_work/project/src/git/.git/rebase-merge/end: No such file or directory
cat: c:/_work/project/src/git/.git/rebase-merge/msgnum: No such file or directory
cat: c:/_work/project/src/git/.git/rebase-merge/onto: No such file or directory
cat: c:/_work/project/src/git/.git/rebase-merge/quiet: No such file or directory
prev_head must be defined
cat: .git/rebase-merge/head-name: No such file or directory

有任何想法吗? 我想重新将情况重新调整到我开始进行深思熟虑的重组操作之前的状态。

以下是git log --oneline显示情况的方式:

4c737fb Revert "Modified file names"
247ac02 Modified file names
33141e6 Message modifications
10a4a04 Modified db script

这很好。

我正在使用msysgit v1.7.0.2。


它看起来像Git试图删除.git/rebase-merge目录,但无法完全删除它。 你有没有尝试复制该文件夹? 如果存在,也拷贝掉.git/rebase-apply文件夹。


我有一个类似的问题,由于僵尸vim.exe进程。 杀死它在任务管理器中,后面是一个git rebase --abort修复它。


在Eclipse中有相同的问题。 无法重置=>从Eclipse中止。

从Git Bash执行git rebase --abort为我工作。

链接地址: http://www.djcxy.com/p/23439.html

上一篇: How to fix "corrupted" interactive rebase?

下一篇: Edit the root commit in Git?