本地回退
情况1:还未添加到暂存区
- 即git add 命令前,使用
git checkout
命令来撤销修改:
git checkout -- *
git checkout --*.txt
git checkout --s.txt
.
情况2:已添加到暂存区
- 即git add 命令后,使用
git reset
命令来撤销修改:
git reset HEAD *
git reset HEAD *.txt
git reset HEAD s.txt
该步骤撤销后,修改回退到工作区。
.
情况3:已提交到本地仓库区
- 即git commit 命令后,此时工作区已经clean,若想撤销之前的修改,需要执行版本回退操作:
#回退到上一个版本
git reset --hard HEAD^
#回退到上上次版本
git reset --hard HEAD^^
git reset --hard HEAD^^^
#回退到指定commitid的版本
git reset --hard commit_id
使用 git log
或 git reflog
命令来查看git的提交历史,获取commit_id。
git log // 查看提交历史
git reflog // 查看命令历史
.
情况4:已提交到远程
- 即git push 命令后,需要先进行本地回退,然后将远程该分支和本地该分支同步。
git push origin HEAD --force