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

Git分支切换后,如何保留未暂存变更且排除删除操作?

解决方法:保留未暂存变更但排除删除操作

嘿,我来帮你搞定这个问题!你的情况是切换回Feature分支后没刷新IDE,导致文件还停在Master的状态,现在想保留未暂存的变更但去掉那些删除操作对吧?按下面的步骤来就行:

第一步:先确认当前变更状态

先运行这个命令,看看所有未暂存的变更,重点留意那些标记为deleted:的文件,记好这些文件名(或者直接用后面的批量命令):

git status

第二步:恢复被删除的文件(二选一即可)

方式一:逐个恢复单个被删文件

如果被删的文件不多,直接针对每个文件执行恢复命令,这样就能取消该文件的删除操作,其他变更会保留:

git checkout HEAD -- <你的被删文件名>

比如你删了utils.js,就运行git checkout HEAD -- utils.js

方式二:批量恢复所有被删文件

要是有一堆被删的文件,用这个批量命令一次性搞定:

git ls-files --deleted | xargs git checkout HEAD --

这个命令的逻辑是:先用git ls-files --deleted列出所有被标记删除的文件,再通过xargs把这些文件名传递给恢复命令,一次性恢复所有被删文件。

第三步:确认操作结果

运行git status再检查一遍,你会看到那些删除操作已经被取消了,其他未暂存的变更还在原地,这时候就可以正常处理这些变更啦(暂存、提交或者继续修改都没问题)。

最后别忘了刷新你的IDE,让它同步Feature分支的真实状态,避免后续再出现分支状态混淆的情况~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 12:23:35