如何重置rebase壁球?

时间:2016-11-01 20:26:46

标签: git phpstorm git-squash

如何重置git squash?

我正在使用PhpStorm。我从最近14天的工作中榨取了压力。提交“HEAD DEV Refactor gulp file”里面有50多个压缩提交。

如何再次显示/取消它们?

enter image description here

1 个答案:

答案 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,则会丢失当前未提交的任何更改。