restore 命令:撤销工作区
将所有本地文件未暂存的更改撤销,恢复到完全没有更改的状态:
git restore
将指定未暂存的文件的更改撤销:
git restore test.py
--staged
参数用于将暂存区的文件撤销,但是不改变工作区已有的更改:
git restore --staged
reset 命令:撤销暂存区和版本库
–mixed
参数为默认,用于重置暂存区的文件与上一次的提交保持一致,工作区文件内容保持不变。以下的命令是等价的:
git reset
git reset --mixed
git reset HEAD
--soft
参数用于回退到指定版本,例如:
git reset --soft HEAD^ # 回退到上一个版本
git reset foo.py --soft 0b3dac # 回退指定文件到指定版本
--hard
参数撤销工作区中所有未提交的修改内容,将暂存区与工作区都回到上一次版本,并删除之前的所有信息提交:
git reset --hard
revert 命令:反做版本库
git revert
命令适用于想要撤销较早提交的某个版本,而不影响之后提交的其他版本。之所以该命令可以实现上述功能,是因为其实质是用一次新的 commit
来回滚之前较早的某个版本,而不同于 git reset
命令直接删除相应提交。
git revert -n 34dafc
-n
参数表示版本号。