git各种撤销操作

撤销git add: git reset HEAD+路径  或者git reset --+路径

撤销commit: 1.回退到具体的嘻哈值 git reset --hard     2.回退后仍包含本地修改:git reset --soft

想问下大家git如何删除本地所有未提交的更改,包括修改的、新增的、删除的,还有一些编译生成的临时文件。就是回到上一版本的干净状态。我查了下有两个相关的命令:
1. git clean -df
2. git reset --hard
但问题是第一个命令只删除所有untracked的文件,如果文件已经被tracked, 修改过的文件不会被回退。而第二个命令只把tracked的文件revert到前一个版本,对于untracked的文件(比如编译的临时文件)都不会被删除。

要达到我所说的目的,是不是必须要同时运行这两条命令?能不能只用一条命令就搞定的?

git checkout . && git clean -xdf

一般 git clean都是配合git reset 使用的

如果你有的修改以及加入暂存区的话
那么
git reset --hard
git clean -xdf

如果没有加入暂存区的话 ,见楼上答案

原文地址:https://www.cnblogs.com/reality-soul/p/6124904.html