You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

git checkout . 命令作用是什么?误执行后如何恢复已修改文件?

git checkout . 的作用

git checkout . 命令的作用是将当前工作目录下所有已被Git跟踪的文件,回退到和当前分支最新提交(HEAD)完全一致的状态,所有未暂存的修改都会被直接丢弃,且不会进入Git的暂存区或提交记录,也不会触发系统层面的文件删除提示。该命令不会改动从未被Git跟踪的文件,所以你项目里的未跟踪日志文件还保留,和你后续看到的git status结果一致。
你执行的命令中额外追加的文件路径属于冗余参数,最终执行效果和单独运行git checkout .完全一致,因此你所有已修改的已跟踪文件的改动都被清空了。

已修改文件的恢复方案

根据你之前的操作不同,恢复可能性有差异:

  • 情况1:你此前曾对这些文件的修改执行过git add暂存操作(哪怕之后又做了改动没有重新暂存):
    可以通过Git的悬空对象找回暂存过的版本,操作步骤如下:
    1. 在项目根目录执行git fsck --lost-found
    2. 命令执行完成后,打开项目下的.git/lost-found/other目录,目录内的文件就是所有历史暂存过的文件内容
    3. 逐个打开文件匹配内容,找到对应文件后将内容复制回原项目路径即可
  • 情况2:你从未对这些修改执行过git add或git commit操作:
    Git本身没有存储过这些未进入Git工作流的改动,无法通过Git命令找回。你可以尝试通过代码编辑器的本地历史记录、操作系统的还原点、第三方文件恢复软件等Git之外的手段尝试恢复。

内容的提问来源于stack exchange,提问作者Morilla Thaisa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 18:06:03