1. 撤销工作区修改
$ git checkout --<空格><file>
例如 git checkout -- README.md
注:只有被 git 跟踪(即 add 过)了的文件才可使用该命令撤销工作区修改,否则 git 也帮不了你,ERROR。
2. 撤销暂存区修改
git reset [-q] <tree-ish> [--] <paths>
将暂存区中文件<paths>
的修改回退到版本<tree-ish>(默认为 HEAD,代表当前版本)
中的状态,即撤销暂存区对该文件的修改,该命令不影响工作区和当前分支。
例如 git reset HEAD README.md
3. 版本回退
$ git reset [<mode>] [<commit>]
该命令将当前版本按照特定模式mode
回退到指定版本。
有多种模式可选--soft
、--mixed
(缺省值)、--hard
(最常用)、--merge
、--keep
。
git reset --hard HEAD~3
回退到当前版本的前 3 个版本
git reset --hard 4cecc6a
回退到指定版本(commitId)。该命令和git log [--pretty=oneline]
(查看提交日志)、git reflog
(查看所有最近操作和分支切换操作)配合使用。
网友评论