git checkout -- . 的意思是:把当前目录(.)下所有已跟踪文件的修改丢弃,恢复到上一次提交(或暂存区)里的状态。
更具体地说:
.:表示当前目录及其子目录的所有文件--:把后面的.明确当作"路径",避免和分支名混淆- 效果:撤销工作区(working tree)对已跟踪文件的改动(包括对文件的修改、以及对已跟踪文件的删除)
注意点:
- 不会影响未跟踪文件 (新建但没
git add的文件) - 是否影响暂存区取决于 Git 版本/用法;想明确"只撤销工作区"或"同时撤销暂存区",建议用更清晰的新命令:
- 只撤销工作区:
git restore . - 同时撤销暂存区和工作区:
git restore --staged --worktree .
- 只撤销工作区: