git 撤销提交
发表于|更新于
|阅读量:
未使用 git add 的时候 – 在工作区
放弃修改某个文件
1
| git checkout -- filepathname
|
放弃所有修改的文件
1 2
| git checkout . git restore .
|
已经使用 git add 的时候 – 在暂存区
恢复某个文件到工作区
1
| git reset HEAD filepathname
|
恢复所有文件到工作区
git reset HEAD .
git reset
1
| 注意:这里只是恢复到了工作区,如果想放弃修改的代码还需要执行步骤 1(工作区)中的操作
|
已经使用 git commit 提交的了代码 – 在版本区 (本地仓库)
全部撤回并回到远程仓库最新的状态(不保存代码修改)
1 2 3 4
| # 回退到上一版本 git reset --hard HEAD^ # 指定 commit id 回退 git reset --hard commit_id
|
拉回工作区并保存修改。只撤销 commit 和 add(保存代码修改)
1 2 3
| git reset --mixed HEAD^ # 或者 git reset HEAD^
|
撤销 commit 但是不撤销 add(保存代码修改)
撤销修改并回到远程最新的版本(不保存代码修改)
1 2
| git fetch --all git reset --hard origin/master
|
已经 git push 到了远程分支
回滚远程分支的最近一次提交
1 2
| git revert HEAD git push origin 分支名
|
这种方式会在远程生成一个版本号
强制刷新 commit 记录
1 2 3
| git reset --hard HEAD^ git reset --hard commit_id git push origin -f
|