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

相关推荐
louisgeek7 小时前
Git submodule 子模块
git
imDwAaY7 小时前
6篇文章讲清楚Git:Git 实用技巧:暂存现场、挑选提交与定位 Bug (5/6)
git·后端
imDwAaY7 小时前
6篇文章讲清楚Git:Git 团队开发实践:从 Pull Request 到版本发布 (6/6)
git·后端
誰能久伴不乏19 小时前
看懂 Git 团队协作全流程:分支、提交、PR、rebase 到底在干嘛
git
sunshine22 girl1 天前
git tag-项目流程
git
imDwAaY2 天前
6篇文章讲清楚Git:Git 远程协作:fetch、pull、push 到底有什么区别?(3/6)
git·后端
imDwAaY2 天前
6篇文章讲清楚Git:Git 撤销与恢复:reset、revert、restore 应该怎么选?(4/6)
git
用户73309646123092 天前
再也不怕手滑丢代码!给 git 高危操作加一层安全校验
git
广白2 天前
Git Tag 实战:从出包追溯到版本发布
前端·git·面试
Winlifes7 天前
我给 Codex 做了一个 Git 面板:分支树、提交历史和工作区操作
git