如何重置rebase壁球?

Mic*_*hal 3 git phpstorm git-squash

如何重置git squash?

我正在使用PhpStorm.我从最近14天的工作中榨取了压力.提交"HEAD DEV Refactor gulp file"内部有50多个压缩提交.

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

在此输入图像描述

DUm*_*man 9

通常,Git中没有"解禁".我不熟悉你的工具,所以我的答案适用于Git命令行.如果您使用的是Windows,则可能安装了Git bash,并且该工具可以直接启动Git命令行.

备份您的州,以防止陷入更严重的麻烦:

git tag unsquash-backup
Run Code Online (Sandbox Code Playgroud)

首先检查是否ORIG_HEAD设置了你喜欢的东西.这应该是你在rebase之前的最后一个状态.

git show ORIG_HEAD
Run Code Online (Sandbox Code Playgroud)

如果你发现它是你想要回归的状态,那就去做吧

git reset --hard ORIG_HEAD
git rebase --abort
Run Code Online (Sandbox Code Playgroud)

如果ORIG_HEAD不再是你想要的,你应该使用git reflog,这是让你自己摆脱Git麻烦的常用方法,如果你做了一些你不应该做的事情.

git reflog
Run Code Online (Sandbox Code Playgroud)

然后HEAD@{8}在列表中查找旧提交(看起来类似).那应该是你要回去的州.首先检查提交的历史记录

git log HEAD@{8}
Run Code Online (Sandbox Code Playgroud)

然后您可以将分支重置为该状态.

git reset --hard HEAD@{8}
Run Code Online (Sandbox Code Playgroud)

当然HEAD@{8}用你发现的提交代替到处git reflog.

注意:如果使用标准警告,则会git reset --hard丢失当前未提交的任何更改.