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

Git 如何撤销已暂存/未暂存修改文件?Git 2.16版本操作咨询

Git撤销已暂存或未暂存修改的完整指南

咱们把这事掰扯清楚——Git的撤销命令一开始确实容易搞混,但搞懂什么时候用哪个就简单了。咱们一步步来解答你的问题:

一、撤销未暂存的修改(文件还没执行git add)

如果你已经修改了文件但还没暂存(执行git status时会显示在「未暂存的变更」板块),可以这样回滚:

  • 单个文件恢复(Git 2.16及所有版本通用): 执行以下命令,就能把指定文件恢复到上一次提交时的状态:

    git checkout -- <你的文件名>
    

    举个例子,如果你改坏了README.md,就输入git checkout -- README.md。注意:这个操作会直接丢弃该文件所有未提交、未暂存的修改,执行前一定要确认这些修改不需要保留!

  • 所有未暂存文件恢复: 如果你想一次性撤销仓库里所有未暂存的修改,可以用:

    git checkout .
    

    友情提示:这是个“一刀切”的操作,执行前务必确认没有需要保留的修改!

二、撤销已暂存的修改(文件已经执行git add)

如果你已经把文件暂存了(执行git status时显示在「要提交的变更」板块),需要分两步操作(也可以合并成一条命令直接完成撤销暂存+恢复文件):

  1. 第一步:撤销暂存(把文件放回工作区)
    要撤销单个文件的暂存状态,同时保留修改内容(只是从暂存区放回工作区),执行:

    git reset HEAD <你的文件名>
    

    如果要撤销所有暂存文件,直接用git reset HEAD(不用加文件名)。这时候文件的修改还在,只是回到了git add之前的状态。

  2. 第二步:彻底恢复文件到原始状态(可选)
    如果撤销暂存后,你想彻底丢弃这些修改,就用之前的checkout命令:

    git checkout -- <你的文件名>
    

    要是想一步到位,直接撤销暂存并恢复文件,可以把两条命令合并:

    git reset HEAD <你的文件名> && git checkout -- <你的文件名>
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 08:16:56