如何重置git squash?
我正在使用PhpStorm。我从最近14天的工作中榨取了压力。提交“HEAD DEV Refactor gulp file”里面有50多个压缩提交。
如何再次显示/取消它们?
答案 0 :(得分:8)
Git中通常没有“解禁”。我不熟悉你的工具,所以我的答案适用于Git命令行。如果你在Windows上,你可能安装了Git bash,并且该工具可以直接启动Git命令行。
备份你的州以防止陷入更严重的麻烦:
git tag unsquash-backup
首先检查ORIG_HEAD
是否设置为您喜欢的内容。这应该是你在rebase之前的最后一个状态。
git show ORIG_HEAD
如果您发现这是您要返回的州,请执行
git reset --hard ORIG_HEAD
git rebase --abort
如果ORIG_HEAD
不再是你想要的,你应该使用git reflog
,这是让你自己摆脱Git麻烦的常用方法,如果你做了一些你不应该做的事情。
git reflog
然后在列表中查找旧提交(看起来像HEAD@{8}
)。那应该是你要回去的州。
git log HEAD@{8}
然后您可以将分支重置为该状态。
git reset --hard HEAD@{8}
当然用HEAD@{8}
中找到的提交替换git reflog
。
注意:标准警告适用,如果您使用git reset --hard
,则会丢失当前未提交的任何更改。