git - 撤消 git squash rebase
问题描述
我搞砸了将我的提交压缩成一个提交。
如果提交去了
NOTMINE -> MINE1 -> MINE2 -> MINE3 -> MINE4 -> MINE5
我试图将 MINE1-4 压缩为 MINE5,但最终将它们压缩为 NOTMINE。
我跑了git rebase -i HEAD~5
,把它设置为选择 MINE5 并挤压 MINE1-4。
为了解决这个问题,我尝试git reflog
并基于我跑了git reset --hard HEAD@{1}
,这看起来像壁球前的那一刻,但这没有效果。
有任何想法吗?
解决方案
检查你的 reflog。
一行应该表明你的变基的开始:
<sha> HEAD@{xx} rebase (start): checkout <something>
(因为您要求git rebase -i HEAD~5
,<something>
可能是一个明确的 sha1 ;
当您要求一个命名的 ref 时git rebase -i origin/master
,日志会提到该名称)
该( )下面的行<sha> HEAD@{xx+1}
是您要查找的提交。
推荐阅读
- chart.js - 使用 ChartJS 的垂直折线图
- asp.net - 有没有办法默认忽略 GraphQL 类型上的所有字段,只添加想要的字段?
- mongodb - 如何使用 Kotlin 密封类编写 Mongo 类型查询
- python - 如何将 Flutter 用作用 python 编写的应用程序的 UI?
- ios - 如何在 Xcode 中指定框架的配置?
- xml - 如何在 VBA 中重命名 .xml 文件
- mysql - 错误类型错误:无法读取tipo-struttura.component.ts (angular+spring+sql) 处未定义的属性“id”
- python - Lightgbm 在同一个数据集上进行不同的分割(一种热编码与一对一分割算法)
- python - IfcOpenShell 从 IfcWall 中查找坐标
- python-3.x - 如何访问 chat_id 并将其保存以供进一步执行?