如何重置 git squash?
我正在使用 PhpStorm。我从过去 14 天的工作中压缩了提交。提交“HEAD DEV Refactor gulp file”内部有 50 多个压缩提交。
我如何再次显示/取消压缩它们?
如何重置 git squash?
我正在使用 PhpStorm。我从过去 14 天的工作中压缩了提交。提交“HEAD DEV Refactor gulp file”内部有 50 多个压缩提交。
我如何再次显示/取消压缩它们?
Git中通常没有“解压”。我不熟悉你的工具,所以我的回答适用于 Git 命令行。如果您在 Windows 上,您可能已经安装了 Git bash,并且该工具可能具有启动 Git 命令行的直接方式。
备份您的状态以防止陷入更严重的麻烦:
git tag unsquash-backup
首先检查是否ORIG_HEAD
设置为您喜欢的内容。这应该是你在变基之前的最后一个状态。
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
,您将丢失任何当前未提交的更改。