在使用 Cline 修改代码后,发现改动完全不符合预期,且尚未提交到本地仓库(即所有更改都处于 working directory 或 staging area)。此时希望彻底丢弃所有本地修改,让工作区恢复到干净的状态。
⚠️ 警告:以下操作会永久删除未提交的更改,且无法通过 Git 恢复。请务必确认这些改动不再需要。
1. 丢弃所有已跟踪文件的修改(恢复到最近一次 commit)
1 | git reset --hard HEAD |
HEAD指向当前分支的最后一次提交。- 此命令会同时清空暂存区和工作区,所有已跟踪文件的改动都会消失。
2. 删除所有未跟踪的文件和目录
1 | git clean -fd |
-f:强制删除(required by Git safety)。-d:同时删除未跟踪的目录。- 这一步会删除编译产物、临时文件、IDE 配置(如果未被
.gitignore忽略)等。
3. (可选)确认工作区已经完全干净
1 | git status |
应该显示:
1 | nothing to commit, working tree clean |
如果本地有尚未推送的提交,也想一并丢弃?
若你不仅修改了工作区,还提交了若干 commit 但尚未推送到远程仓库,需要执行:
1 | # 先获取远程最新状态(但不要合并) |
注意:这会将本地分支的提交历史完全覆盖成远程分支的样子,所有未推送的 commit 都会丢失。