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

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

1. 已经git add,但尚未git commit
git add 之后,但尚未git commit的修改文件这种情况,这时修改文件已经进入暂存区,直接删除暂存区的修改内容即可。
git reset HEAD 文件名
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 操作:

posted @   等茶的茶  阅读(526)  评论(0编辑  收藏  举报
编辑推荐:
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 现代计算机视觉入门之:什么是图片特征编码
· .NET 9 new features-C#13新的锁类型和语义
阅读排行:
· Sdcb Chats 技术博客:数据库 ID 选型的曲折之路 - 从 Guid 到自增 ID,再到
· 语音处理 开源项目 EchoSharp
· 《HelloGitHub》第 106 期
· Spring AI + Ollama 实现 deepseek-r1 的API服务和调用
· 使用 Dify + LLM 构建精确任务处理应用
点击右上角即可分享
微信分享提示