Git 笔记 | 提交误操作,如何处理

git 提交操作失误,撤回操作可以分为三种情况来看:

1. 已经git add,但尚未git commit
git add 之后,但尚未git commit的修改文件这种情况,这时修改文件已经进入暂存区,直接删除暂存区的修改内容即可。[Git | 删除暂存区的修改](https://www.cnblogs.com/waiting-ying/p/13255913.html)
2. git commit,但尚未git push
git commit之后,修改文件已经在本地仓库分支,但尚未git push到远程仓库: 解决方式一:
# 查看提交信息
$ git log
# 撤销commit操作,但不删除工作区的修改文件
$ git reset --soft HEAD^

commit之后的日志情况:

撤销commit后的日志情况:

但123.txt仍在工作区,文件在本地没有被删除。

解决方法二:删除commit内容之后,本地的修改文件也会被删除(不建议使用)

# 撤销commit操作
$ git reset --hard HEAD^

文件已提交:

文件commit过程撤销:

文件在本地也被删除:查看工作区文件状态,已经没有了111.txt文件

3. 修改文件已经被git push到远程仓库
修改文件已经被git push到远程仓库,但想撤销本次push操作
# 查看提交的commit_id
git log
# 撤销指定版本
git revert
# 提交这次撤销
git push origin <branch_name> 

修改文件已被提交到远程仓库:

撤销push 操作:

原文地址:https://www.cnblogs.com/waiting-ying/p/13288643.html