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

Git如何重置所有未暂存文件至HEAD且保留已暂存文件?

解决方案

当然有办法啦,完全不需要提交操作就能实现你的需求!

下面给你两种可行的方法,根据你的Git版本选择就行:

  • 方法一:使用Git 2.23+的git restore命令(推荐)
    直接在终端运行:

    git restore .
    

    这个命令专门用来恢复工作区的文件,默认只操作未暂存的内容。运行后,所有未暂存的修改(比如你的bar.c)会被重置到HEAD版本,而已经暂存的foo.c会完全保留在暂存区,不会被改动。

  • 方法二:适用于旧版本Git(低于2.23)
    如果你用的Git版本比较旧,可以用传统的checkout命令:

    git checkout HEAD -- .
    

    这个命令的效果和上面的restore一致,会把工作区的所有文件重置为HEAD对应的版本,同样不会影响已经暂存的内容。这里的--是为了避免和分支名混淆,.代表当前目录下的所有文件。

简单来说,这两个命令都只会处理未暂存的修改,完全不会触碰你已经通过git add暂存的foo.c,完美符合你脚本里的需求,全程不需要任何提交操作~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 08:15:07