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

如何将指定提交影响的所有文件重置到提交前状态?

仅重置指定提交涉及的文件到提交前状态的方法

要实现这个需求,你可以通过Git的命令组合自动获取目标提交修改的文件,再批量重置这些文件到提交前的状态,具体步骤如下:

  1. 获取目标提交修改的所有文件
    替换<commit-hash>为你的目标提交哈希值,用以下命令列出该提交修改的所有文件(仅输出文件名,无多余信息):

    git show --name-only --pretty="format:" <commit-hash>
    
  2. 批量重置这些文件到提交前的状态
    通过命令替换,把第一步得到的文件列表传入git checkout,将文件恢复到目标提交的父版本(即提交前的状态):

    git checkout <commit-hash>^ -- $(git show --name-only --pretty="format:" <commit-hash>)
    

    这个操作会直接覆盖这些文件当前的内容(包括后续提交对它们的修改)。如果需要先确认目标提交带来的具体变更,可以先执行:

    git diff <commit-hash>^ <commit-hash> -- $(git show --name-only --pretty="format:" <commit-hash>)
    

    查看差异后再执行重置操作。

  3. 提交重置后的变更
    重置完成后,这些文件会处于未暂存状态,执行以下命令保存变更:

    git add .
    git commit -m "Revert changes from commit <commit-hash> on affected files"
    

注意:此操作会丢弃后续提交对目标文件的所有修改,执行前请确认你清楚要放弃的内容,必要时可先创建分支备份当前状态。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 09:25:56