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

如何用Git CLI实现GitHub Desktop的Discard All Changes(不使用git stash)

Git CLI实现GitHub Desktop「Discard All Changes」功能的方法

GitHub Desktop的「Discard All Changes(丢弃所有更改)」功能,本质是不可逆清除当前分支所有未提交的修改,不使用git stash的前提下,执行以下两条命令即可实现完全一致的效果:

  • 第一步:重置所有已被Git跟踪的文件状态到当前最新提交(HEAD),同时清空暂存区的所有内容
    git reset --hard HEAD
    

    该操作会直接删除所有已跟踪文件上的未提交修改,执行前请确认不需要保留相关内容

  • 第二步:删除所有未被Git跟踪的普通文件和空目录
    git clean -fd
    

    参数说明:-f表示强制删除未跟踪文件,-d表示同步删除未跟踪的目录;默认不会删除.gitignore规则中已忽略的文件,如果需要连忽略文件一同清理,可以改用git clean -fdx


特殊场景适配

如果当前仓库包含Git子模块,需要同步丢弃所有子模块内的未提交修改,调整命令如下即可:

git reset --hard HEAD --recurse-submodules
git clean -fd --recurse-submodules

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 06:48:00