git reset 和 git reflog 解决代码分支提交错误

查看git 提交记录。

比如我要指向前2个commit

使用 git reset --hard HEAD~2 可以将HEAD指向指定的commit,然后 push即可(建议:保留原有分支,在新分支操作)

如果本来要指向是前1个分支,结果指向了前2个commit

使用 git reflog 查看HEAD的历史变动,输出如下内容

bash 复制代码
abc1234 HEAD@{0}: reset: moving to HEAD~2
def5678 HEAD@{1}: commit: Add feature B
ghi9012 HEAD@{2}: commit: Fix bug A
jkl3456 HEAD@{3}: commit: Initial commit

HEAD@{1} 是你 reset 之前的 HEAD(即你真正想保留的最新提交)。

HEAD@{0} 是 reset 之后的状态(即你当前的位置)。

使用 git reset --hard HEAD@{1} 即可恢复到前1个分支。

相关推荐
2301_767113989 小时前
点过“不再询问”就要检查:Claude Code权限文件也可能存着密钥
git·信息安全·claude code
江屿风15 小时前
【Git-组件】【Git入门:从文档灾难到版本掌控】流食般投喂
运维·笔记·git·组件·版本控制
程序员沉梦听雨16 小时前
【Git】fork工作流与上游同步
git
高调的涵涵4 天前
删了1.2GB,.git仍是1.2GB
git
程序员沉梦听雨4 天前
【Git】git-submodule子模块管理
git
全栈陈序员5 天前
Git】从入门到精通(八)—— git log:查看提交历史
大数据·git·elasticsearch
7177775 天前
Git自建用什么工具比较好:Gitea、Forgejo、GitLab CE与Gitee的选型对比
git·gitlab·gitea
lsc_blog6 天前
年底还在招的岗位,先确认缺口和到岗要求
git·缓存·ci/cd·职场和发展·github
全栈陈序员6 天前
【Git】从入门到精通(十一)—— git reset 三种模式详解
git·elasticsearch
全栈陈序员6 天前
【Git】从入门到精通(十)—— 撤销与恢复:git checkout与git restore
运维·网络·数据库·git