我在本地的Git仓库中搞糊涂了。我试图按照下面的步骤来修复一个损坏的提交记录。但在运行"git commit --amend"(和git rebase --interactive之后),我发现我的更改是不正确的,所以我执行了"git reset HEAD --hard"。告诉你一个不好的消息,现在交互式的rebase似乎“卡住”了。Git显示当前分支为(|REBASE-m)。我仓库中的每个命令(cd..、ls、git rebase...)都会给出以下错误:
cat: .git/rebase-merge/head-name: No such file or directory
这里是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 --continue 命令的结果:
$ 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。