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个分支。

相关推荐
rebekk1 小时前
claude工作区与git仓库的关系
linux·git·python
神の愛1 小时前
GIT,可以参数这篇,需要加以理解,文字比较冗余,还请见谅
git
jolimark2 小时前
Windows下如何用GCC编译C语言?轻便方法分享
c语言·windows·git·mingw·gcc编译器
△曉風殘月〆2 小时前
一文带你掌握Visual Studio中集成的git功能
git·visual studio
不爱吃糖的程序媛3 小时前
鸿蒙三方库适配读懂 `thirdparty/AES/.gitignore`:哪些文件不该进 Git?
git·elasticsearch·harmonyos
天若有情67317 小时前
【C++原创开源】formort.h:一行头文件,实现比JS模板字符串更爽的链式拼接+响应式变量
开发语言·javascript·c++·git·github·开源项目·模版字符串
海盗123418 小时前
在群晖NAS上使用Git Server
git
y小花18 小时前
git常用指令
git
华科大胡子18 小时前
开源项目 Git 贡献全流程拆解
git
极地星光18 小时前
工程中:Git 子模块(submodule) vs 直接依赖(源码/库/包管理器)
git