每次我认为我是一个 Git 向导时,都会发生一些全新而奇怪的事情让我回到原来的位置......
我正在一个交互式 rebase 中压缩两个提交,突然间,来自 Git 的输出开始像覆盖自己一样,并且多个 Git Bash 提示出现在混乱中,好像命令认为它们在实际完成之前就已经完成(可惜忘记截图了)。我的回购现在似乎已经损坏,因为我陷入了REBASE-i
模式并且无法中止。下面是一些屏幕截图,希望能帮助解决更多的 Git-wizardry-than-I 问题(git s
是 的别名git status
)。我以前从未见过该Cannot store
消息,而且我不明白它是如何由rebase
. 我总是可以删除回购并制作一个新的克隆,但我想我会在放弃之前向 SO 提出上诉......
编辑:
这是我导致此问题的步骤:
git commit --squash head
这样我就可以用之前的提交来压缩我的最新更改。git rebase -i --autosquash head^^
squash
使用已设置的命令启动交互式变基。- 变基正常进行,但随后开始显示上述奇怪的输出。它开始抱怨无法取消链接
.pack
文件,如果我想再试一次。我以前看过那条消息;通常它只是一直要求永远重试,所以我退出了Ctrl+C. - 那时,我无法
git rebase --abort
使用下面显示的错误消息。 - 我尝试
git rebase --edit-todo
并删除了 todo 文件的所有行,但 rebase 继续失败。 - 最后我跑了
git rebase --continue
,它让我脱离了REBASE-i
模式,让我在非常慌乱的状态下继续我的生活......
版本信息:
- 适用于 Windows 的 Git:2.18.0
-Windows:Windows 10 Pro 1803