参看文章:https://blog.csdn.net/qq_21688871/article/details/130158888

1、git commit后,但发现文件有误,不想push(提交到本地库,回退到暂存区)
cpp
git reset --soft :回退到指定的提交状态,但是保留修改的文件。这意味着你可以重新编写提交信息并重新提交代码。
git reset --mixed :回退到指定的提交状态,但是删除修改的文件。这意味着你需要重新添加和提交修改后的文件。
git reset --hard :回退到指定的提交状态,并完全删除所有修改的内容。这意味着你将失去所有未提交的更改,包括在暂存区中的更改和未跟踪的文件。
这里推荐使用第一种,执行命令后,回到暂存区
2、git add 后,不想commit(提交到暂存区,回退到工作区)
1)单个文件:
git restore 文件名
2)恢复多个文件:
git restore 通配符
例如:
cpp
git restore *.c
3)恢复所有文件
cpp
git restore .
4)有时候,我们可能只想恢复暂存区的修改,但保留工作区的其他修改。可以使用git restore --staged 命令来实现。命令中的--staged选项表示只恢复暂存区的修改,不影响工作区的其他修改。
这里推荐使用第四种
3、工作区修改,想撤回修改
git checkout 文件名 /文件夹名