# git reset > 撤销提交或取消暂存,将当前 Git HEAD 重置到指定状态。 > 如果传入文件路径,则执行"取消暂存";如果传入提交哈希或分支名,则执行"撤销提交"。 > 更多信息:。 - 取消暂存所有文件: `git reset` - 取消暂存指定文件: `git reset {{路径/到/文件1 路径/到/文件2 ...}}` - 交互式地取消暂存文件的部分内容: `git reset {{[-p|--patch]}} {{路径/到/文件}}` - 撤销最近一次提交,保留其更改(以及所有未提交的更改)在工作区中: `git reset HEAD~` - 撤销最近两次提交,将其更改保留到暂存区中: `git reset --soft HEAD~2` - 丢弃所有未提交的更改(包括已暂存和未暂存的),仅丢弃未暂存的更改请使用 `git checkout`: `git reset --hard` - 将仓库重置到指定提交,丢弃该提交之后的所有已提交、已暂存和未暂存的更改: `git reset --hard {{提交哈希}}`