当你向撤销操作时有几种不同的场合:
- 在本地修改后还没有用git add 添加到暂存区
- 修改后已git add添加到暂存区
- 修改后添加并提交到本地仓库
- 提交到本地仓库后并且推送到远程仓库
1.取消对文件的修改
当对文件修改后还未提交可以用git status 命令查看git的状态
,且git status
会告诉你添加的方法和撤销的方法。
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
modified: benchmarks.rb
所以我们可以用 git checkout -- <file>...
撤销对某文件的修改。
2.取消已经暂存的文件
将文件git add
添加到暂存区后同样git status
,他会告诉你撤销的方法git reset HEAD <file>
3.取消寂静提交的方法
将文件git commit
提交之后可以用以下命令取消:
git reset --soft HEAD^
或者git commit --amend
(取消最后一次提交)。