【发布时间】:2016-08-02 08:29:44
【问题描述】:
我正在尝试通过删除最近的提交来恢复我的稳定标签。我运行了这个命令:
git revert e64218b5d415419043002e67115f81bff05bde0e
这出现了:
error: Your local changes would be overwritten by revert.
hint: Commit your changes or stash them to proceed.
fatal: revert failed
我留下了这条信息并关闭了文件。在确认crazy.html 消失后,我查看了我与git log --oneline 的历史记录
e64218b Add a crazzzy experiment
2d0b4b6 Add navigation links
35a79d5 Create blue and orange pages
f72749b Create index page
为什么 Git 没有弄清楚如何撤消它包含的更改?为什么 Git 不使用结果内容进行另一个提交?
编辑 - Git 状态显示:
On branch master
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
deleted: crazy.html
【问题讨论】:
-
git status 显示什么?
-
我试过了,同样的错误
-
要删除文件(crazy.html)吗?
-
您需要:a) 首先提交已删除的文件 b) 取消暂存并删除已删除的文件
-
当您尝试
git revert时,您的工作目录很脏,这就是 Git 拒绝执行还原并失败的原因。只需删除已删除的文件,然后重试。