如何重置变基壁球?
How to reset rebase squash?
如何重置 git 壁球?
我正在使用 PhpStorm。我压缩了过去 14 天工作的提交。提交 "HEAD DEV Refactor gulp file" 内部有 50 多个压缩的提交。
如何再次显示/取消压缩它们?
通常Git中没有"unsquashing"。我不熟悉你的工具,所以我的回答适用于 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}
当然,用您在 git reflog
中找到的提交替换 HEAD@{8}
。
注意: 标准警告适用,如果您使用 git reset --hard
,您将丢失所有当前未提交的更改。
如何重置 git 壁球?
我正在使用 PhpStorm。我压缩了过去 14 天工作的提交。提交 "HEAD DEV Refactor gulp file" 内部有 50 多个压缩的提交。
如何再次显示/取消压缩它们?
通常Git中没有"unsquashing"。我不熟悉你的工具,所以我的回答适用于 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}
当然,用您在 git reflog
中找到的提交替换 HEAD@{8}
。
注意: 标准警告适用,如果您使用 git reset --hard
,您将丢失所有当前未提交的更改。